Gibt es ein gutes Befehlszeilenprogramm, um die Festplattenlast unter Linux zu überwachen? Etwas wie, top
aber dann Überwachung der Festplattenaktivität Iso-CPU-Auslastung.
Insbesondere vermute ich, dass bei einigen (Hochlast-) Servern nach mehreren Optimierungen an verschiedenen Teilen des Programms, die darauf ausgeführt werden, der Engpass im Moment einfach das Protokollieren von Dateien auf der Festplatte ist. Ich finde es jedoch sehr schwierig zu beurteilen, wie viel Verkehr die Server verarbeiten können.
Mein ideales Werkzeug wäre ein Ausdruck mit der Aufschrift "Sie nutzen derzeit 35% Ihrer Festplattenbandbreite". Irgendwelche Ideen?
linux
hard-drive
load-testing
Pieter
quelle
quelle
/sys/block/sda/stat
. Feld Nr. 1 gibt die Gesamtzahl der Lesevorgänge an, Feld Nr. 5 die Gesamtzahl der Schreibvorgänge, Feld Nr. 9 die Anzahl der laufenden E / A-Vorgänge. Weitere Informationen finden Sie unter kernel.org/doc/Documentation/iostats.txt. Die Werte sind lange ohne Vorzeichen und werden möglicherweise umgebrochen .how do you do it with SNMP?
. Es ist in Ordnung, sich anzumelden und Dinge zu überprüfen, aber man braucht wirklich historische Daten.Antworten:
Mit dem
iostat
Tool können Sie sich ein ziemlich gutes Bild davon machen .Die Festplattenauslastung ist in der letzten Spalte aufgeführt. Dies ist definiert als
quelle
apt-cache dump
hat nichts für iostat aufgedrehtiotop ist eine Version von top, die angibt , wie viel E / A jeder Prozess verwendet. Es befindet sich in den Standard-Ubuntu-Repositories. Ich weiß nicht, ob es in RHEL oder Fedora ist, aber es sollte sein.
Verwenden Sie für ältere Kernel (z. B. CentOS 5.x oder RHEL 5.x), die iotop nicht unterstützen, stattdessen topio (hier dokumentiert: http://yong321.freeshell.org/freeware/pio.html#linux . Es basiert auf / proc // io für io-Statistiken und bietet ähnliche Funktionen wie iotop. Weitere Informationen finden Sie unter dem Link.
quelle
Wie von sastanin in Kommentaren vorgeschlagen, können Sie die in
/sys/block/sda/stat
oder angegebenen Werte direkt verarbeiten/proc/diskstats
. Dies kann hilfreich sein, wenn keines der anderen genannten Tools verfügbar ist und Sie sie nicht einfach installieren können.Zum Beispiel (IIUC) sollte so etwas (in Bash) die Anzahl der Lesevorgänge pro Sekunde angeben:
Weitere Informationen finden Sie unter https://www.kernel.org/doc/Documentation/iostats.txt und https://www.kernel.org/doc/Documentation/block/stat.txt .
quelle
Sie sollten einen Blick auf atop werfen , das die Leistung von iotop / top / iftop an einem Ort vereint und die kritischen Teile Ihres Systems hervorhebt.
quelle
Ich würde empfehlen, sich das nmon-Tool anzuschauen. Es zeigt Ihnen das Laden einer Reihe von Systemparametern sowie das Aufzeichnen von Daten in einer Datei zur späteren Einsichtnahme. Es ist ein kostenloses Tool, das Sie hier herunterladen können :
quelle
hdparm -T /dev/sda
Um herauszufinden, wie hoch Ihre Gesamtbandbreite ist, können Sie die Puffer-Cache-Leistung (Fileio)hdparm -t /dev/sda
testen, um die Leseleistung des Geräts zu testenBeispiele: Mein Laptop erhält 82 MB / s von der SATA-Festplatte und 2 GB / s vom Cache. Mein Dekstop erhält 12 GB / s aus dem Cache und 500 MB / s aus dem HW-RAID-Array. Ich vermute, dass diese letzten Zahlen auf Hardware der Serverklasse doppelt so hoch sein könnten.
setze readahead höher als 256, 4096 funktioniert am besten für mich
mal lesen 1GB bei verschiedenen Blockgrößen und verschiedenen Read-Aheads
quelle
--setra
ist jetzt-a
und 2) diehdparm -{T,t}
Befehle geben laut nur Festplattenlesevorgänge ausstrace
, sind also nicht destruktiv. (Standard-Haftungsausschluss zu Ratschlägen im Internet)Das Standardwerkzeug zum Anzeigen der Festplattenlast ist
iostat
.Es wird nicht angezeigt, wie viel Prozent der Festplattenbandbreite Sie verwenden, da nicht bekannt ist, wie viel Bandbreite Ihre Festplatte hat. In jedem Fall weist Ihre Festplatte nur die vom Hersteller angegebene Zahl für große Übertragungen zusammenhängender Daten auf.
quelle
Ich denke, RRDtool sollte tun, was Sie wollen, hier verwendet es einen Daemon, um Systemdaten zu sichern und dann können Sie es verarbeiten, wie Sie möchten . Ich habe es oft verwendet, um Diagramme usw. zu erstellen, um die Systemlast zu messen.
quelle