记一次manjaro上wa占用过高的排查过程

系统:manjaro kde

今天电脑莫名的卡,开始以为是自己启动的程序过多,关掉了所有程序 ,仍然没有缓解,于是开始排查。

首先通过top查看,发现wa特别高,基本维持 80%左右,甚至有时候直接100%, load average也是特别高,保持在8左右。

从网上查了一下,有人反馈是io的问题,那就从io入手。

先查询磁盘占用率 iostat -x 10 发现%util已经达到了100%

现在基本上确定是磁盘io的问题,那就再找一下是哪个进程占用了这么多的io,使用命令 iotop -oP

发现了几个占用io特别高的进程,每个都直逼100%

kworker/u16:2+flush-8:16
kworker/u16:6+flush-8:16
baloo_file_extractor
jbd2/sdb1-8

还没搞明白这几个进程的作用,网上搜了一下,决定先从baloo_file_extractor下手,查看一下baloo的状态:

# balooctl status                                                                                                                                                                            
Baloo 文件索引器正在运行
索引器状态:Indexing file content
共索引文件:292,437
等待内容索引的文件:8,878
索引失败的文件:0
当前索引大小为 830.33 MiB

这哥们正在创建索引,于是我想等他创建完就没问题了,但是等了半天这个索引数据都没有变化,那应该是它创建索引这块出问题了,如何解决呢?不知道,那我只能先把它给禁用了。

balooctl disable

cpu和负载都恢复到了比较正常的水平(CPU:20%, load average: 2)

然而kworker和jdb2占io高的问题依旧存在,还没找到更好的解决办法。

待续。。。