Frage: Die Vmstat-Ausgabe zeigt Datum und Uhrzeit nicht an, was mühsam ist, wenn man versucht, die vmstat-Ausgabe zu speichern, um eine Leistungsanalyse durchzuführen.
Also, wie füge ich der Linux-vmstat-Ausgabe einen Zeitstempel hinzu ?
Antwort: Sie können den Zeitstempel in jeder Zeile der vmstat-Befehlsausgabe anzeigen mit einem einfachen Perl-Skript wie unten gezeigt.
Standard-Vmstat-Ausgabe (ohne Zeitstempel)
$ vmstat 1 5 procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 33308 450080 59020 6757044 1 1 551 148 1 6 26 9 60 5 0 0 33308 449960 59020 6757044 0 0 0 0 1068 1576 1 1 98 0 1 0 33308 453928 59020 6757044 0 0 0 48 1049 1628 2 1 97 0 0 0 33308 454120 59020 6757044 0 0 0 0 1034 1663 2 1 96 0 0 0 33308 454112 59020 6757044 0 0 0 0 1025 1535 1 1 98 0
Vmstat-Ausgabe mit Zeitstempel
Erstellen Sie die folgende einfache Datei timestamp.pl
$ vi timestamp.pl #!/usr/bin/perl while (<>) { print localtime() . ": $_"; }
Leiten Sie nun die Ausgabe des vmstat-Befehls an diese Datei timestamp.pl weiter, um den Zeitstempel wie unten gezeigt anzuzeigen.
$ vmstat 1 5 | timestamp.pl Sat Aug 22 20:50:36 2009: procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- Sat Aug 22 20:50:36 2009: r b swpd free buff cache si so bi bo in cs us sy id wa Sat Aug 22 20:50:36 2009: 2 0 33308 452080 59084 6761140 1 1 551 148 1 6 26 9 60 5 Sat Aug 22 20:50:37 2009: 0 0 33308 454368 59084 6761140 0 0 0 0 1028 1713 2 1 96 0 Sat Aug 22 20:50:38 2009: 0 0 33308 454368 59084 6761140 0 0 0 0 1010 1432 0 0 100 0 Sat Aug 22 20:50:39 2009: 0 0 33308 454368 59084 6761140 0 0 0 12 1021 1481 1 0 99 0 Sat Aug 22 20:50:40 2009: 0 0 33308 457184 59084 6761140 0 0 0 0 1029 1549 1 1 98 0