Cronologia dei processi nei sistemi Unix / Linux


11

So che ps -eflmostra i processi in esecuzione su sistemi * nix.

Vorrei controllare la storia dei processi (passate) che sono stati eseguiti su una particolare macchina, preferibilmente con tutte le informazioni psfornisce (cioè %CPU, %MEM).

Quali utilità della riga di comando posso usare, queste informazioni sono archiviate da qualche parte in modo simile al .bash_historyfile?


2
Su * nix , è piuttosto essere ps -efl. ps auxsolo per BSD / Linux.
Stéphane Chazelas,

Potresti potenzialmente installare SNMP e qualcosa per sondare periodicamente il demone SNMP per raggiungere questo obiettivo. L'ho fatto per l'utilizzo della memoria per i processi per un periodo di tempo.
Lawrence,

come descritto qui: serverfault.com/questions/386956/pid-history-of-a-process , alcuni processi pubblicano lì PID su syslog (o possono essere fatti per farlo).
billc,

Risposte:


5

Prova atop. Può mantenere una cronologia configurabile di varie informazioni di sistema (processi e CPU, memoria, utilizzo del disco e della rete). Nota: ovviamente non può registrare tutto; prende solo "istantanee" periodicamente.

EDIT: Nel caso in cui ciò non fosse chiaro, esiste un atopdemone che esegue le istantanee periodiche, memorizzate in /var/log/atop(directory usata in Debian).


2
Forse degno di nota: non può guardare al passato, vede solo i processi mentre è in esecuzione.
Guntbert,

3
@guntbert Dal momento che salva periodicamente ciò che vede e si può rigiocarlo con l' -ropzione, è un modo per guardare al passato.
vinc17,

2
Vero (ecco perché ho detto "forse"), ma ovviamente funziona solo dopo aver avviato il servizio, mentre l'OP potrebbe aspettarsi di vedere cosa è successo anche prima.
Guntbert,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.