Historia procesów w systemach Unix / Linux

11

Wiem, że ps -eflpokazuje uruchomione procesy w systemach * nix.

Chciałbym sprawdzić historii (zakończony) procesów, które poruszają się na danej maszynie, najlepiej z wszystkich informacji pszapewnia (tj %CPU, %MEM).

Jakich narzędzi wiersza poleceń mogę używać, czy te informacje są przechowywane gdzieś podobnie jak .bash_historyplik?

syntagma
źródło
2
Na * nix , raczej tak będzie ps -efl. ps auxtylko dla BSD / Linux.
Stéphane Chazelas
Możesz potencjalnie skonfigurować SNMP i okresowo odpytywać demona SNMP, aby to osiągnąć. Zrobiłem to dla użycia pamięci dla procesów przez pewien okres czasu.
Lawrence
jak opisano tutaj: serverfault.com/questions/386956/pid-history-of-a-process , niektóre procesy publikują tam identyfikatory PID do syslog (lub można to zrobić).
billc

Odpowiedzi:

5

Spróbować atop. Może przechowywać konfigurowalną historię różnych informacji systemowych (procesów i procesora, pamięci, użycia dysku i sieci). Uwaga: oczywiście nie można nagrać wszystkiego; okresowo wykonuje tylko „migawki”.

EDYCJA: Jeśli nie jest to jasne, istnieje atopdemon, który wykonuje okresowe migawki, przechowywane w /var/log/atop(katalog używany w Debianie).

vinc17
źródło
2
Być może warte uwagi: nie może patrzeć w przeszłość, widzi procesy tylko podczas działania.
guntbert
3
@ guntbert Ponieważ okresowo zapisuje to, co widzi, i można je odtworzyć z tą -ropcją, jest to sposób na spojrzenie w przeszłość.
vinc17
2
To prawda (dlatego powiedziałem „może”), ale to oczywiście działa dopiero po uruchomieniu usługi, podczas gdy OP może oczekiwać, że zobaczy to, co się stało wcześniej.
guntbert