Ich wusste wirklich keinen besseren Weg, um meine Frage zu stellen, daher bekommst du eine schrecklich benannte Frage.
Ich werde erklären, was ich tun möchte, vielleicht hilft dir das, mir zu helfen.
Ich möchte, dass mein Linux-Rechner alle 10 Minuten alle Prozesse auf meinem Rechner überwacht. Die Informationen aus jedem Prozess, den ich benötige, sind der Name, die CPU-Auslastung, der zugewiesene (virtuelle) Speicher und der residente (RAM-) Speicher.
Wenn diese periodischen Berichte betrachtet würden, würden sie ungefähr so aussehen:
PROCESS CPU RAM VIRTUAL
name1 % MB MB
name2 % MB MB
...etc..etc
Diese Berichte sollten so gespeichert werden, dass ich zu einem späteren Zeitpunkt unter Angabe eines Datums- / Uhrzeitbereichs (Bereichs) darauf zugreifen kann. Zum Beispiel, wenn ich die Historie meiner Prozesse von 12:00:00 bis 12:00:00 sehen möchte, kann ich - und es sollte mir die Historie der Prozesse für alle 10 Minuten zwischen diesen geben Datums- / Uhrzeitgrenzen.
Das Format der Rückgabe ist nicht wichtig, das wird sowieso von einem Skript behandelt und kann in alles geändert werden, was ich brauche.
Ich habe mich bisher mit ein paar Dingen befasst, aber nichts gefunden, das meine Bedürfnisse eindeutig erfüllt. Unter anderem habe ich gesucht: sar , free (1) , top (1) .. und ein paar andere Dinge.
Es sollte ein einfaches Problem sein, ich kann bereits alle diese Informationen sehen, indem ich einfach auf meine schaue htop
, aber ich benötige nur ein Tool, das alle 10 Minuten die gewünschten Felder für jeden Prozess sammelt und mich dann auch Teile davon extrahieren lässt Daten basieren auf Datums- / Zeitbereichen.
Anmerkung: Ich habe nur begrenzte Erfahrung mit Linux. Bitte geben Sie detaillierte Informationen an.
note2: Der gewünschte Ausgang ist ungefähr so (nach Empfang des gewünschten Bereichs)
CPU USAGE BY PROCESS:
proc_nameA 1,2,2,2,2,2...... numbers represent % usage every 10 minutes...
proc_nameB 4,3,3,6,1,2......
Die gleiche Idee mit den anderen Informationen.
Antworten:
Versuchen Sie es
atop
.Diese Systeminformationen werden alle 5 oder 10 Minuten (je nachdem, was Ihre Distribution für Sie ausgewählt hat) als Daemon protokolliert und in Binärdateien abgelegt. Dann benutze
Zum interaktiven Anzeigen des Inhalts der heutigen Standard-Protokolldatei. Es ist wie
htop
mit ein paar zusätzlichen E / A-Informationen, mit denen Sie in die Vergangenheit reisen und sehen können, was in diesen Momenten passiert ist. Drücken Sie t, um vorwärts zu gehen, und Shift+ t, um zurück zu gehen.Sie können es auch auf einen bestimmten Zeitraum verweisen. Aus der Manpage:
Es ist einfach nicht übermäßig konfigurierbar, was in die RAW-Dateien geschrieben werden soll.
Ich empfehle Ihnen, auch die Hilfeseite von atop zu lesen, um zu beginnen, z. B. den Inhalt der gestrigen Protokolldatei zu lesen.
So lief meine Maschine 'zarafa' heute Morgen zwischen 7:35:40 und 7:45:40:
quelle