Histórico de processos em sistemas Unix / Linux

11

Eu sei que ps -eflmostra os processos em execução nos sistemas * nix.

Gostaria de verificar o histórico dos processos (passados) executados em uma máquina específica, de preferência com todas as informações psfornecidas (ou seja %CPU, %MEM).

Quais utilitários de linha de comando posso usar, essas informações são armazenadas em algum lugar semelhante ao .bash_historyarquivo?

sintagma
fonte
2
No * nix , é melhor assim ps -efl. ps auxapenas para BSD / Linux.
Stéphane Chazelas
Você pode configurar o SNMP e algo para pesquisar o daemon SNMP periodicamente para conseguir isso. Fiz isso para uso da memória em processos durante um período de tempo.
24414 Lawrence
conforme descrito aqui: serverfault.com/questions/386956/pid-history-of-a-process , alguns processos publicam lá PIDs no syslog (ou podem ser feitos para isso).
billc 27/05

Respostas:

5

Tente atop. Ele pode manter um histórico configurável de várias informações do sistema (processos e CPU, memória, disco e uso de rede). Nota: não pode gravar tudo, é claro; leva apenas "instantâneos" periodicamente.

EDIT: Caso isso não esteja claro, existe um atopdaemon que faz os instantâneos periódicos, armazenados em /var/log/atop(diretório usado no Debian).

vinc17
fonte
2
Talvez digno de nota: não pode olhar para o passado, apenas vê processos enquanto está em execução.
guntbert
3
@guntbert Como salva periodicamente o que vê e é possível reproduzir isso com a -ropção, é uma maneira de olhar para o passado.
vinc17
2
É verdade (foi por isso que eu disse "talvez"), mas é claro que só funciona depois de iniciar o serviço, enquanto o OP pode estar esperando ver o que aconteceu mesmo antes.
guntbert