ionice — 設定程序的 I/O 排程優先級
設定程序的磁碟 I/O 排程優先級,讓低優先工作不影響系統回應。
語法
ionice [選項] [指令]
常用選項
| 選項 | 說明 | 範例 |
|---|---|---|
-c 類別 |
I/O 排程類別: 1=Realtime(最高優先,需 root) 2=Best-effort(預設,一般使用) 3=Idle(只在系統閒置時使用磁碟) | ionice -c 3 tar -czf backup.tar.gz /data |
-n 優先值 |
在 Best-effort 或 Realtime 類別下的優先值(0=最高,7=最低) | ionice -c 2 -n 7 rsync |
-p PID |
設定已執行中的程序的 I/O 優先級 | ionice -c 3 -p 1234 |
-t |
忽略失敗(非特權使用者可能無法設定某些類別) | ionice -c 1 -t rsync |
使用範例
範例 1:以最低 I/O 優先級執行備份
Idle 類別(-c 3)確保備份只在磁碟閒置時才執行,不影響其他程序。
$ ionice -c 3 rsync -avz /data/ /backup/
範例 2:設定執行中的程序的 I/O 優先級
對已在執行的程序(PID 1234)降低 I/O 優先級。
$ ionice -c 2 -n 7 -p $(pidof find)
範例 3:結合 nice 使用(同時降低 CPU 和 I/O 優先級)
對大型備份任務同時降低 CPU 和 I/O 優先級,讓系統更流暢。
$ ionice -c 3 nice -n 15 tar -czf /backup/archive.tar.gz /home