1、通过iotop命令查出占用硬盘IO多的进程
sudo apt install iotop
sudo iotop
查出[jbd2/sda1-8],占用一直在20%左右。
上网查了,大概是因为这个jbd2进程关系到硬盘报告日志时是即时的,因而一刻也不停的读取和写入日志。
这是一个内核进程,用sudo kill命令是杀不死的。这是个时不时会出现的老毛病,曾经在Ubuntu以前的多次内核升级中出现过问题(目前我的电脑Ubuntu内核版本是Linux 5.4.0-42-generic)。我不想手动升级内核,但也不能等Ubuntu的升级,毕竟硬盘灯不停的闪,真伤我的固态硬盘,看着也不舒服。
2、简单的解决方法
挂载硬盘时加入commit=60,让硬盘读取写入日志的时间延长。
接下来是具体做法:
sudo nano /etc/fstab
编辑内容,把commit=60加到分区性质后面那一项,遇到原来已有内容的用英文逗号隔开,遇到defaults直接替换。
举例如下:
UUID=bc854dee-faea-46b2-8675-fc7b1b006229 / ext4 errors=remount-ro,commit=60 0 1
UUID=cd2b8985-9dbc-460e-8964-83accde70522 none swap sw,commit=60 0 0
/dev/sda4 /media/Dpan ntfs commit=60 0 0
Ctrl+X,Y,回车,保存退出。
sudo mount -a
如果不显示错误,则表示修改没问题。有提示的话,就回去看看空格、英文逗号有没有弄错。
最后,重启电脑,开机后用sudo iotop命令再查一次,应该就看不到IO高占用的情况了。