Pro trendy diskových I/O existuje několik možností. Můj osobní favorit je sar
příkaz z sysstat
. Ve výchozím nastavení poskytuje výstup takto:
09:25:01 AM CPU %user %nice %system %iowait %steal %idle
09:35:01 AM all 0.11 0.00 0.01 0.00 0.00 99.88
09:45:01 AM all 0.12 0.00 0.01 0.00 0.00 99.86
09:55:01 AM all 0.09 0.00 0.01 0.00 0.00 99.90
10:05:01 AM all 0.10 0.00 0.01 0.02 0.01 99.86
Average: all 0.19 0.00 0.02 0.00 0.01 99.78
%iowait
je čas strávený čekáním na I/O. Pomocí balíčku Debian musíte povolit sběrač statistik pomocí /etc/default/sysstat
konfiguračního souboru po instalaci balíčku.
Chcete-li zobrazit aktuální využití rozdělené podle zařízení, můžete použít iostat
příkaz, také z balíčku sysstat:
$ iostat -x 1
Linux 3.5.2-x86_64-linode26 (linode) 11/08/2012 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.84 0.00 0.08 1.22 0.07 97.80
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
xvda 0.09 1.02 2.58 0.49 112.79 12.11 40.74 0.15 48.56 3.88 1.19
xvdb 1.39 0.43 4.03 1.82 43.33 18.43 10.56 0.66 112.73 1.93 1.13
Některé další možnosti, které mohou zobrazit využití disku v trendových grafech, jsou munin a kaktusy.
Podívejte se na iotop
:
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init splash
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
4 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H]
6 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [mm_percpu_wq]
7 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched]
Nebo iodump
, pokud je to více dolů váš způsob myšlení.
Poznámka:Aby to fungovalo, vyžaduje to alespoň jádro 2.6.20.
Líbí se mi dstat
. Může zobrazovat součty a statistiky na disk a dokonce i md-devices (RAID), také může používat barvy pro lepší přehled:
$ dstat -tdD total,sda,sdb,sdc,md1 60
----system---- -dsk/total----dsk/sda-----dsk/sdb-----dsk/sdc-----dsk/md1--
time | read writ: read writ: read writ: read writ: read writ
08-11 22:08:17|3549k 277k: 144k 28k: 851k 62k: 852k 60k: 25k 82k
08-11 22:09:17| 60k 258k:1775B 15k: 13k 63k: 15k 60k: 68B 74k
08-11 22:10:17| 176k 499k: 0 14k: 41k 122k: 41k 125k: 273B 157k
08-11 22:11:17| 42k 230k: 0 14k:9830B 54k: 14k 51k: 0 70k
08-11 22:11:52| 28k 132k: 0 5032B:5266B 33k:9479B 28k: 0 37k
-t
pro časová razítka-d
pro statistiku disku-D
specifikovat přesná zařízení, která mají být nahlášena-
60
v průměru přes 60 sekund. Displej se aktualizuje každou sekundu, ale pouze jednou za 60 sekund se spustí nový řádek. -
v tomto příkladu není použito, ale
-c
může hlásit procento čekání IO, které ve většině případů souvisí s CPU čekajícím na data z disků.
Je k dispozici pro většinu distribucí Linuxu, ale někdy je nutné jej nainstalovat z repozitářů.