Historial de procesos en sistemas Unix / Linux

11

Sé que ps -eflmuestra procesos en ejecución en sistemas * nix.

Me gustaría verificar el historial de los procesos (pasados) que se han ejecutado en una máquina en particular, preferiblemente con toda la información que psproporciona (es decir %CPU, %MEM).

¿Qué utilidades de línea de comando puedo usar? ¿Se almacena esta información en algún lugar similar al .bash_historyarchivo?

sintagma
fuente
2
En * nix , eso es más bien ser ps -efl. ps auxsolo para BSD / Linux.
Stéphane Chazelas
Potencialmente, podría configurar SNMP y algo para sondear el demonio SNMP periódicamente para lograr esto. He hecho esto para el uso de memoria para procesos durante un período de tiempo.
Lawrence
como se describe aquí: serverfault.com/questions/386956/pid-history-of-a-process , algunos procesos publican sus PID en syslog (o se puede hacer que lo haga).
billc

Respuestas:

5

Tratar atop. Puede mantener un historial configurable de diversa información del sistema (procesos y uso de CPU, memoria, disco y red). Nota: no puede grabar todo, por supuesto; solo toma "instantáneas" periódicamente.

EDITAR: en caso de que esto no esté claro, hay un atopdemonio que hace las instantáneas periódicas, almacenado en /var/log/atop(directorio utilizado en Debian).

vinc17
fuente
2
Quizás digno de mención: no puede mirar hacia el pasado, solo ve procesos mientras se está ejecutando.
guntbert
3
@guntbert Debido a que guarda periódicamente lo que ve y uno puede reproducirlo con la -ropción, es una forma de mirar hacia el pasado.
vinc17
2
Es cierto (es por eso que dije "tal vez"), pero eso, por supuesto, funciona solo después de haber iniciado el servicio, mientras que el OP podría esperar ver lo que sucedió incluso antes.
guntbert