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.