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?


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).


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.