Jak przejść do śledzenia zużycia IO w systemie Linux i innych systemach operacyjnych * nix?

15

Czasami coś w moim systemie zaczyna młotkować dysk. Chciałbym rejestrować dane, które informowałyby mnie o zużyciu I / O na proces, a następnie mogłem wrócić do niego później i zobaczyć, co się dzieje dalej. Jak powinienem rozwiązać ten problem? Punkty bonusowe za rozwiązanie tego problemu dla dowolnych urządzeń blokowych.

kbyrd
źródło

Odpowiedzi:

12

Dałbym iotopspróbować (tylko Linux). Jest całkiem dobry w zapewnianiu procesów z wysokimi transferami We / Wy, ale iotopbardziej służy do wyświetlania bieżącego stanu niż rejestrowania.

Do rejestrowania sarjest zawsze dobrym narzędziem do aspektów wydajności.

txwikinger
źródło
1
Warto zauważyć, że iotop jest tylko linux. (przynajmniej jestem 99% pewny, że tak jest)
ksenoterracid
sar jest również dostępny we wszystkich wersjach unixów, z którymi kiedykolwiek pracowałem.
txwikinger
2
W systemach Ubuntu (może to dotyczyć wszystkich Linuksów) pogoda debatowa iotopdziała poprawnie. Zobacz bugs.launchpad.net/ubuntu/+source/linux/+bug/493156
Stefan Lasiewski,
@Stefan: Z tego, co przeczytałem, wpłynie to tylko na dystrybucje, które skonfigurowały swoje jądro z włączonym CONFIG_TASK_DELAY_ACCT. Czy w wątku, który mi brakowało, jest coś jeszcze?
Steven D,