Iotop
Если машина тормозит, значит скорее всего какой-то (или какие-то) процессы используют много процессорного времени или оченть активно используют дисковую систему.
Если с процессором все ясно - утилиты top и htop ясно показывают кто и сколько процессорного времени ест, то с дисковой подститемой как правило сложнее.
Однако, есть отличная утилита под названием iotop, которая очень похожа на top, только показывает не количество процессорного времени и памяти использованое процессами, а их нагрузку на io-систему.
iotop показывает в колонках для каждого процесса или потока, насколько сильно они загружают систему чтениями и записями. Кроме того, он показывает сколько процентов времени поток или процесс тратит на выгрузку/загрузку из свопа и ожидания ответа от системы ввода/вывода.
В качестве дополнения, в верхней строчке iotop показывает с какой скоростью читают/пишут процессы в сумме.
Установка достаточно проста:
emerge -av iotop
Если что-то не работает, убедитесь что у вас включены необходимые опции ядра: TASKSTATS и TASK_IO_ACCOUNTING. Если они не включены, включите их:
General Setup > [*] Export task/process statistics through netlink [ ] Enable per-task delay accounting [*] Enable extended accounting over taskstats [*] Enable per-task storage I/O accounting
Вот примеры выводов iotop:
$ iotop Total DISK READ: 387.25 K/s | Total DISK WRITE: 221.29 K/s PID USER DISK READ DISK WRITE SWAPIN IO> COMMAND 7703 root 387.25 K/s 0 B/s 0.00 % 0.00 % tccat -i /shared/... 211 root 0 B/s 13.83 K/s 0.00 % 0.00 % [pdflush] 7672 root 0 B/s 207.46 K/s 0.00 % 0.00 % transcode -H 10 ...
Total DISK READ: 5.21 K/s | Total DISK WRITE: 7.37 M/s PID USER DISK READ DISK WRITE SWAPIN IO> COMMAND 7936 user1 5.21 K/s 7.37 M/s 0.00 % 0.00 % dd if /dev/zero of ./bigfile
iotop - хороший способ следить за тем, что съедает i/o у вас.
© GWN: http://www.gentoo.org/news/en/gmn/20080930-newsletter.xml

dstat
есть еще замечательная штука - dstat
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read writ| recv send| in out | int csw
35 8 56 1 0 0| 75k 83k| 0 0 |1711B 3680B| 187 3084
35 2 62 0 0 0|4096B 0 |1110B 0 | 0 0 | 220 2271
4 0 96 0 0 0| 0 0 |1110B 0 | 0 0 | 208 2844
3 0 96 0 0 0| 32k 0 |1110B 0 | 32k 0 | 123 2970
5 1 94 0 0 0| 0 20k| 999B 0 | 0 0 | 103 2749
3 0 96 0 0 0| 0 208k|1110B 0 | 0 0 | 151 2745
6 1 93 0 0 0| 0 0 |1110B 0 | 0 0 | 405 3277
5 0 93 2 0 0| 84k 0 |1920B 630B| 60k 0 | 288 3076
5 1 93 0 0 0| 0 0 | 999B 0 | 0 0 | 396 3373
5 1 93 1 0 0| 100k 0 |1110B 0 | 100k 0 | 225 2986
5 1 94 0 0 0| 32k 0 |1110B 0 | 32k 0 | 335 3396
Отправить комментарий