Czy istnieje dobre narzędzie wiersza polecenia do monitorowania obciążenia dysku twardego w systemie Linux? Coś w rodzaju, top
ale następnie monitorowanie aktywności na dysku iso użycie procesora.
Mówiąc dokładniej, podejrzewam, że w przypadku niektórych (obciążonych) serwerów po kilku optymalizacjach w różnych częściach programów, które na nim działają, w tej chwili wąskim gardłem jest po prostu logowanie do plików na dysku. Ale bardzo trudno jest mi ocenić, ile ruchu mogą obsłużyć serwery.
Moim idealnym narzędziem byłoby coś, co drukuje: „Obecnie używasz 35% przepustowości dysku”. Jakieś pomysły?
linux
hard-drive
load-testing
Pieter
źródło
źródło
/sys/block/sda/stat
. Pole nr 1 podaje całkowitą liczbę odczytów, pole nr 5 jest całkowitą liczbą zapisów, pole nr 9 jest liczbą operacji we / wy w toku. Zobacz więcej w kernel.org/doc/Documentation/iostats.txt Wartości są niepodpisane długo i mogą się zawijać.how do you do it with SNMP?
. Można się logować i sprawdzać, ale naprawdę potrzebne są dane historyczne.Odpowiedzi:
Możesz uzyskać całkiem niezłą miarę za pomocą tego
iostat
narzędzia.Wykorzystanie dysku jest wymienione w ostatniej kolumnie. Jest to zdefiniowane jako
źródło
apt-cache dump
nic nie podkręcił dla iostatiotop to wersja top, która sprawdza, ile IO używa każdy proces. Jest w standardowych repozytoriach Ubuntu; Nie wiem, czy jest w RHEL czy Fedorze, ale tak powinno być.
W przypadku starszych jąder (powiedzmy CentOS 5.x lub RHEL 5.x), które nie obsługują iotop, użyj zamiast tego topio (udokumentowane tutaj: http://yong321.freeshell.org/freeware/pio.html#linux . To zależy od / proc // io dla statystyk io i zapewnia podobną funkcjonalność jak iotop. Aby uzyskać szczegółowe informacje, patrz link.
źródło
Jak sugeruje sastanin w komentarzach, możesz przetwarzać bezpośrednio wartości podane w
/sys/block/sda/stat
lub/proc/diskstats
. Może to być pomocne, gdy żadne z wymienionych narzędzi nie jest dostępne i nie można ich łatwo zainstalować.Na przykład (IIUC) coś takiego (w bash) powinno podawać liczbę odczytów na sekundę:
Dokumenty można znaleźć na https://www.kernel.org/doc/Documentation/iostats.txt i https://www.kernel.org/doc/Documentation/block/stat.txt .
źródło
Powinieneś rzucić okiem na szczycie , który łączy moc iotop / top / iftop, wszystko w jednym miejscu, i podkreśla najważniejsze części twojego systemu.
źródło
Polecam przyjrzeć się narzędziu nmon. Pokaże obciążenie na żywo wielu parametrów systemowych, a także zapis danych do pliku w celu późniejszego przejrzenia. To bezpłatne narzędzie dostępne tutaj :
źródło
aby dowiedzieć się, jaka jest twoja łączna przepustowość, możesz użyć
hdparm -T /dev/sda
do przetestowania wydajności pamięci podręcznej bufora (fileio) whdparm -t /dev/sda
celu przetestowania wydajności odczytu urządzeniaprzykłady: mój laptop pobiera 82 MB / s z dysku SATA i 2 GB / s z pamięci podręcznej. Mój dekstop pobiera 12 GB / s z pamięci podręcznej i 500 MB / s z macierzy HW RAID. Podejrzewam, że te ostatnie liczby mogą być dwukrotnie większe na sprzęcie klasy serwerowej.
ustaw readahead na więcej niż 256, 4096 działa najlepiej dla mnie
razy odczytuje 1 GB przy różnych rozmiarach bloków i różnych wyprzedzeniach odczytu
źródło
--setra
jest teraz-a
i 2),hdparm -{T,t}
polecenia powodują tylko odczyt dysku, zgodnie zstrace
, więc nie są destrukcyjne. (Obowiązuje standardowe wyłączenie odpowiedzialności dotyczące porad w Internecie)Standardowym narzędziem do pokazywania obciążenia dysku twardego jest
iostat
.Nie powie ci ile procent przepustowości dysku zużywasz, ponieważ nie wie, ile przepustowości ma twój dysk. W każdym razie na dysku znajduje się tylko wartość podana przez producenta w przypadku dużych transferów ciągłych danych.
źródło
Myślę, że RRDtool powinien robić to, co chcesz tutaj , używa demona do zrzucania danych systemowych, a następnie pozwala ci przetwarzać je w dowolny sposób . Często używałem go do tworzenia wykresów itp. Do pomiaru obciążenia systemu.
źródło