Історія процесів в системах Unix / Linux


11

Я знаю, що ps -eflпоказує запущені процеси в * nix системах.

Я хотів би перевірити історію з ( в минулому) процесів, які виконуються на конкретній машині, бажано всю інформацію psнадає (тобто %CPU, %MEM).

Які утиліти командного рядка я можу використовувати, чи зберігається ця інформація десь аналогічно .bash_historyфайлу?


2
На * nix , це, швидше, буде ps -efl. ps auxлише для BSD / Linux.
Stéphane Chazelas

Ви можете потенційно налаштувати SNMP і щось періодично опитувати демона SNMP, щоб досягти цього. Я зробив це для використання пам'яті для процесів протягом певного періоду.
Лоуренс

як описано тут: serverfault.com/questions/386956/pid-history-of-a-process , деякі процеси публікують там PID в syslog (або можуть бути зроблені для цього).
billc

Відповіді:


5

Спробуйте atop. Він може зберігати конфігурувану історію різної системної інформації (процеси та використання процесора, пам'яті, диска та мережі). Примітка: звичайно, він не може записати все; він просто робить "знімки" періодично.

EDIT: Якщо це не зрозуміло, є atopдемон, який робить періодичні знімки, що зберігаються в /var/log/atop(каталог, який використовується під Debian).


2
Можливо, варто звернути увагу: воно не може зазирнути в минуле, воно бачить лише процеси, поки воно працює.
guntbert

3
@guntbert Оскільки він періодично зберігає те, що бачить, і можна повторити це за допомогою -rпараметра, це спосіб заглянути в минуле.
vinc17

2
Щоправда (саме тому я сказав "можливо"), але це, звичайно, працює лише після запуску служби, тоді як ОП може сподіватися побачити, що сталося ще раніше.
guntbert
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.