[[Vorlage(Baustelle, 30.01.2011, JoernBruns)]] [[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Terminal:Ein Terminal öffnen] [:Pakete_installieren: Installation von Programmen] (''optional'') }}} [[Inhaltsverzeichnis()]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] Ist ein Computer zu langsam, sind die Ursachen oft nicht einfach zu ermitteln. Ist es eine zu langsame Festplatte, ist der Arbeitsspeicher zu klein oder die CPU zu langsam? '''vmstat''' gibt tabellarisch Auskunft über Prozesse, Arbeitsspeicher, Auslagerung sowie Festplatten- und Prozessor-Aktivitäten. vmstat ist somit ein Hilfsmittel, um die Ursache eines Engpasses ermitteln zu können. = Installation = Das Programm vmstat ist in jeder Ubuntu-Installation bereits enthalten und braucht nicht gesondert installiert werden. Es ist im Paket '''procps''' enthalten. = Aufruf = Nachfolgend eine kurze Syntaxbeschreibung für die Verwendung in einen Terminal-Fenster[1]. Zur Ausgabe der durchschnittlichen Werte seit dem letzten Systemstart: {{{#!vorlage Befehl vmstat }}} Zur fortlaufenden Ausgabe der Werte der jeweils letzten 4 Sekunden: {{{#!vorlage Befehl vmstat 4 }}} Zum Beenden der fortlaufenden Ausgabe ist [[Vorlage(Tasten, Strg+C)]] zu drücken. = Erklärung und Beurteilung der ausgegebenen Werte = Die Zahlen der ausgegebenen Liste müssen nun noch verstanden und eingeschätzt werden. Hier eine Beispielausgabe: {{{#!vorlage Befehl vmstat 4 -a }}} {{{ procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free inact active si so bi bo in cs us sy id wa 0 0 10864 879720 1255140 794940 0 0 1 0 0 1 4 4 92 0 2 0 10864 879588 1255212 795496 0 0 0 292 3181 4515 10 13 77 0 4 0 10864 874460 1256528 797296 0 0 20 903 3564 5011 13 20 65 1 0 0 10864 871992 1259180 798456 0 0 0 1436 3852 2585 3 4 87 6 }}} Die ersten beiden Zeilen der Ausgabe sind Tabellen-Überschriften, deren Bedeutung und Interpretation hier beschrieben wird: {{{#!vorlage Tabelle Beschreibung +++ 1.Zeile 2.Zeile Erklärung Interpretation +++ <|2 :>`procs` `r` Anzahl der auf Prozessor-Zeit wartenden Prozesse Wert sollte nicht über längere Zeit höher sein als die Anzahl der CPUs. Wenn doch, Prozesse mit [:top:] analysieren und evtl. eine schnellere CPU verwenden. +++ `b` Anzahl der nicht wieder belebbaren schlafenden Prozesse Sollte immer nahe "0" sein +++ <|6 :>`memory` `swpd` Summe des genutzten virtuellen Arbeitsspeichers <:> +++ `free` Summe des ungenutzten Arbeitsspeichers <:> +++ `buff` Summe des als Festplatten-Puffer genutzten Arbeitsspeichers, ohne Option `-a` <:> +++ `cache` als Cache genutzter Arbeitsspeicher, ohne Option `-a` <:> +++ `inact` Summe ungenutzter Arbeitsspeicher, nur mit Option `-a` <:> +++ `active` Summe von aktivem Arbeitsspeicher, nur mit Option `-a` <:> +++ <|2 :>`swap` `si` Summe des von Festplatte in Arbeitsspeicher verlagerten Speichers pro Sekunde <|2>Sind hier Werte häufig größer als "0" => mehr Arbeitsspeicher notwendig +++ `so` Summe des von Arbeitsspeicher auf Festplatte verlagerten Speichers pro Sekunde +++ <|2 :>`io` `bi` eingehende Daten von Block-Devices, meist Festplatte, Blöcke pro Sekunde <:> +++ `bo` ausgehende Daten von Block-Devices, meist Festplatte, Blöcke pro Sekunde <:> +++ <|2 :>`system` `in` Anzahl der Interrupts pro Sekunde, inklusive der für die interne Uhr <:> +++ `cs` Anzahl der Kontext-Wechsel pro Sekunde <:> +++ <|5 :>`cpu` `us` Zeit-Verbrauch durch Benutzer-Prozesse <:> +++ `sy` Zeit-Verbrauch durch Kernel-System-Prozesse <:> +++ `id` Ungenutzte Prozessor-Zeit Sollte nicht über längerem Zeitraum auf 0% stehen, sonst ist schnellere CPU notwendig +++ `wa` Zeit-Verbrauch mit warten auf Ein-/Ausgabe (z.B. Festplatte, Netzwerk) Sollte durchgehend nahe "0" stehen, ansonsten ist das IO-System (Festplatten?) zu langsam +++ `st` CPU-Zeit, welche von virtuellen Maschinen abgezweigt wurde }}} = Optionen = Sinnvolle Parameter beim Aufruf von vmstat können sein: {{{#!vorlage Befehl vmstat OPTIONEN }}} {{{#!vorlage Tabelle Optionen +++ Parameter Beschreibung +++ `-a` Ausgabe von Festplatten-Statistik +++ `-d` Zeigt die absolute Zeit an, seit der Prozess gestartet wurde +++ `-p PARTITION` Ausgabe von Festplatten-Partitions-Statistik +++ `-s` Ausgabe einer Arbeitsspeicher-Tabelle +++ `VERZÖGERUNG ZAHL` Die Verzögerungszeit zwischen den Updates in Sekunden }}} Für weitere Optionen siehe {{{#!vorlage Befehl vmstat --help }}} oder in der [:man:Manpage] zu vmstat. = Links = * [sourceforge:procps:The /proc file system utilities] {en} * [http://www.thomas-krenn.com/de/wiki/Linux_Performance_Messungen_mit_vmstat Linux Performance Messungen mit vmstat] {de} - Thomas Krenn-Wiki * [http://linuxwiki.de/vmstat Analyse mit Hilfe von vmstat] {de} - LinuxWiki.org #tag: System, Shell, Benchmark