V Linuxu je také možné získat statistiky I/O jednotlivých procesů, takže můžete přesně vidět, kdo čte a píše, pomocí programu s názvem iotop. iotop je třeba spustit s uživatelem root. Pomocí iotop můžete například zjistit, jak rychle dokáže váš pevný disk číst a zapisovat, a poté stiskněte klávesu q pro ukončení. Přečtěte si manuál na iotop, kde se dozvíte více o jeho zkratkách, například pro řazení sloupců.
Abychom viděli, který proces zapisuje na disk, můžeme použít příkaz „iotop“ k získání těchto informací
# iotop
Zobrazí výstup jako v následujícím příkladu:
Total DISK READ : 0.00 B/s | Total DISK WRITE : 88.95 M/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 88.95 M/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
27236 be/4 root 0.00 B/s 88.95 M/s 0.00 % 87.91% dd if=/dev/zero of=test.zero bs=1024k count=1000 oflag=direct conv=notrunc
25600 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % less -s
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-root --system --deserialize 22
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
6 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/u30:0]
7 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched]
8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_bh]
9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuos/0]
10 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuob/0]
11 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
12 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
13 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khelper]
14 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kdevtmpfs]
15 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [netns]
16 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [perf]
17 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [xenwatch]
18 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [xenbus]
20 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khungtaskd]
21 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [writeback]
22 be/5 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksmd]
23 be/7 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khugepaged]
24 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [crypto]
25 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kintegrityd]
26 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [bioset]
27 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kblockd]
28 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [md]
29 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [devfreq_wq]
31 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kswapd0]
32 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [fsnotify_mark]
1058 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % cupsd -f Ze zde uvedených sloupců nás mohou zajímat následující:
- TID :Tento sloupec poskytuje PID procesu, který odesílá požadavky na vstup/výstup. To lze použít k prozkoumání nebo ukončení programu.
- ČTENÍ DISKU :Tento sloupec znázorňuje počet bajtů přečtených za sekundu uvedeným procesem.
- ZAPIS NA DISK :Tento sloupec uvádí počet bajtů zapsaných za sekundu uvedeným procesem.
- IO :Tento sloupec zobrazuje procento času, který uvedený proces strávil vydáváním požadavků I/O.
- PŘÍKAZ :Tento sloupec zobrazuje název procesu, který zpracovává I/O. Pokud se jedná o hlavní proces, může zahrnovat také přepínače příkazového řádku.
Ve výše uvedeném příkladu jsme v jiné relaci ssh spustili test dd (dd if=/dev/zero of=test.zero bs=1024k count=1000 oflag=direct conv=notrunc), abychom viděli akci W/R, která se dostane na disk. .
Pokud chcete vidět pouze aktuální procesy zapisující na disk, stiskněte klávesu „o“ a dostanete výstup jako:
Total DISK READ : 0.00 B/s | Total DISK WRITE : 86.90 M/s Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 86.90 M/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 27239 be/4 root 0.00 B/s 86.90 M/s 0.00 % 89.17 % dd if=/dev/zero of=test.zero bs=1024k count=1000 oflag=direct conv=notrunc
Níže jsou uvedeny některé z nejběžnějších možností, které můžeme použít:
- Stiskněte vlevo a klávesy se šipkami doprava změnit řazení.
- Stiskněte r pro obrácení pořadí řazení.
- Stiskněte o pouze k zobrazení procesů nebo vláken, které skutečně provádějí I/O, namísto zobrazení všech procesů nebo vláken.
- Klikněte na p zobrazit pouze procesy. Normálně iotop zobrazuje všechna vlákna.
- Klikněte na a zobrazit akumulované I/O místo šířky pásma. V tomto režimu iotop zobrazuje množství I/O procesů, které byly provedeny od spuštění iotop.
- Klikněte na i změnit prioritu vlákna nebo procesního vlákna, tj. ionice.
- Klikněte na q ukončit iotop.
Další informace naleznete v manuálových stránkách.
# man iotop