系统: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高的问题依旧存在,还没找到更好的解决办法。
待续。。。