[Linux] 使用 iotop 抓出狂讀寫硬碟、拉高 disk I/O 的原兇
今天將 CentOS 7 重開機之後,覺得系統好像變得很慢,
打開 atop 看一下,磁碟 I/O 蠻忙碌的,可是也不知首寔哪隻程式在搞鬼…
突然想起來以前看過一個 iotop 程式,果然藉由它的幫助就抓出兇手了~
直接執行 iotop 就能看到佔用 I/O 率的前幾名 (不過似乎是得以 root 身份才能執行):
sudo iotop
執行後,在 IO 這一欄,看到有個叫 tracker-store 的東西佔了 9x%,相當的高:
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 3841 idle testuser 22.69 M/s 0.00 B/s 0.00 % 96.51 % tracker-store 3448 be/4 testuser 0.00 B/s 0.00 B/s 0.00 % 0.03 % gnome-shell 1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-root --system --deserialize 21 2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
查了一下,這個 tracker-store 是 Tracker 的一部分,似乎是跟桌面管理、搜尋等有關的東西,
網路上也有不少人遇到相關的效率問題,在詢問怎麼關閉它~
可以用 yum 裝一下它的管理程式 tracker-preferences 來設定 Tracker:
sudo yum -y install tracker-preferences
裝好後,執行 /usr/bin/tracker-preferences,可以叫出 Tracker 的選項設定:
像我更動的地方是建立索引的時間,從原本的即使有其他程式在跑也一樣索引,
改成只有沒有在使用電腦時,才來建立索引,免得干擾我的工作,
另外也限制磁碟空間太小 (< 5%) 時,就停止索引:
設定好這樣之後,就比較不會遇到 Tracker 跑出來狂掃硬碟的狀況了~
不過當然這應該會帶來索引速度變慢的副作用,因此就看每個人的習慣囉~
參考資料:
what is tracker-store (and similar names) doing taking so much CPU time
tracker-store and tracker-miner-fs eating up my CPU on every startup
How do I disable tracker-store process in Centos 7?