Jak mogę monitorować dysk io?


Odpowiedzi:


225

W przypadku trendów we / wy dysku istnieje kilka opcji. Moim osobistym faworytem jest sarpolecenie z sysstat. Domyślnie daje wynik w następujący sposób:

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

%iowaitJest czas oczekiwania na I / O. Używając pakietu Debian, musisz włączyć moduł zbierający statystyki poprzez /etc/default/sysstatplik konfiguracyjny po instalacji pakietu.

Aby zobaczyć bieżące wykorzystanie w podziale na urządzenia, możesz użyć iostatpolecenia, również z pakietu 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

Niektóre inne opcje, które mogą pokazywać użycie dysku na wykresach trendów, to munin i kaktusy .


Munin lub kaktusy są tym, czego szukam. Dzięki za wskazówki.
rumianek

6
Zauważ, że% iowait pokazuje tylko czas, kiedy jądro nie ma nic innego do roboty, jak tylko czekać na IO. Na serwerze w 100% powiązanym z procesorem będzie to zero, bez względu na to, jak dużo IO robi.
Jürgen Strobel

iostat -x dm-0 | grep Device; iostat -xd 2 -y dm-0 | grep dm-0
Juan Medina

104

Spójrz na iotop.

Lub jododump, jeśli bardziej zależy ci na twoim sposobie myślenia.

Uwaga: Wymaga to co najmniej jądra 2.6.20 do działania.


Nie dotyczy to tylko Linuksa, ale wymaga także nowszego (lub załatanego) jądra.
Jordan

Wyglądają dobrze, aby dowiedzieć się, co się teraz dzieje, ale szukam monitorowania większego obrazu.
camomileCase

8
@camomileCase - nie określiłeś tego w swoim pytaniu ...
zadzwoń

90

Lubię dstat. Może wyświetlać sumy i statystyki na dysk, a nawet urządzenia md (RAID), może także używać kolorów dla lepszego przeglądu:

$ 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 dla znaczników czasu
  • -d do statystyki dysku
  • -D aby określić dokładne urządzenia do zgłoszenia
  • 60średnio ponad 60 sekund. Wyświetlacz jest aktualizowany co sekundę, ale tylko raz na 60 sekund zostanie uruchomiona nowa linia.

  • nieużywany w tym przykładzie, ale -cmoże zgłaszać procent oczekiwania na IO, który w większości przypadków jest związany z oczekiwaniem procesora na dane z dysków.

Jest dostępny dla większości dystrybucji Linuksa, ale czasami trzeba go zainstalować z repozytoriów.


49

Tylko z plików na twoim komputerze (zakładając, że jest to najnowsze jądro) możesz zapytać /sys/block/sda/statlub /proc/diskstats. Będzie to jednak wymagać tłumaczenia. Ale miło jest na szybki i brudny czek.


22
/sys/block/sda/statjest udokumentowany na https://www.kernel.org/doc/Documentation/block/stat.txt
ignis

10
/proc/diskstatsjest udokumentowany na kernel.org/doc/Documentation/iostats.txt
Rikard Söderström

2
Dużą zaletą tej odpowiedzi jest to, że nie trzeba instalować żadnych narzędzi. Po prostu tam jest. (Potencjalnie :-)
Ben Aveling

2
np. echo „czytaj io scalaj sektory kleszcze pisz io łączy sektory kleszcze inflight ioticks timeinqueu”; cat / sys / block / vda / vda1 / stat; sleep 10; cat / sys / block / vda / vda1 / stat
Ben Aveling

35

Inną opcją jest użycie: sudo iotop -aoP

-a    Will show accumulated output
-o    Will only output 
-P    Will only show processes instead of threads

Ten program powie ci, ile proces zapisał na dysk i odczytał z dysku od momentu uruchomienia iotop.


Słyszę, że coś uzyskuje dostęp do dysku, ale skumulowana moc wyjściowa rośnie bardzo powoli, czasem wcale nie w ciągu sekundy ... ???
Michael

Jeśli usłyszysz dysk, prawdopodobnie jest on stary i / lub wolny. Nowoczesne dyski twarde są zwykle bardzo ciche. Jakie to wydaje dźwięki? Użyj, smartctlaby sprawdzić, czy dysk jest w dobrej kondycji.
Rudolfbyker

8

Monitorowanie dysku Io można wykonać za pomocą wielu narzędzi, takich jak następujące.

  1. Iostat
  2. Iozone
  3. SAR
  4. vmstat

Również niektóre ważne koncepcje systemu operacyjnego są bardzo potrzebne do ich zrozumienia. Przeczytaj kompletny samouczek Linux IO


2
iozone służy do testowania, a nie monitorowania: „Iozone to narzędzie do testowania systemu plików. Benchmark generuje i mierzy różne operacje na plikach”.
Andrew Beals

7

Kolejnym doskonałym narzędziem do szybkiego przeglądu, skąd pochodzi obciążenie atop

Może wyświetlać przegląd wszystkich zasobów (procesor, pamięć / zamiana, sieciowe i dyskowe operacje we / wy) lub możesz przejść do jednego zasobu i posortować procesy według ich zużycia.


5

Dlaczego nie spróbować nmon . Robi dyski i sieć z procesami. Pierwotnie dla systemu AIX, ale od kilku lat jest przenoszony do systemu Linux.


1

Najlepszą rzeczą, jeśli chcesz zobaczyć wydajność przez długi czas, jest użycie Centreona, który jest potężnym narzędziem opartym na Nagios . Centreon umożliwia monitorowanie poprzez rysowanie wykresów wydajności zasobów i wielu innych rzeczy.


Jakie inne rzeczy? Jakieś zrzuty ekranu? Rozwiń swoją odpowiedź.
Konrad Gajewski
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.