Existe uma maneira de rastrear um processo de fuga?

3

Recentemente, tenho recebido um problema bastante irritante, que parece estar ligado ao Firefox-Trunk, Thunderbird-Trunk ou possível Compiz (padrão 12.04 compiz com Unity). Ao acaso (parece) o sistema se torna inutilizável porque a RAM está subitamente cheia.

Eu achei que era um problema do Firefox (com o Google+ - se você rolasse, estava fazendo isso), mas uma investigação mais detalhada revelou outras possíveis causas. Eu já desabilitei todos os addons e o problema ainda não ocorreu (no momento em que escrevo) - mas estou esperando para ver - porque eu tive que iniciar o KDM apenas para logar (Lightdm congela agora graças a ter que matar o xserver duas vezes).

Preramble aside - existe uma maneira que eu possa acompanhar o processo que está saindo do controle (talvez por um log?) para que eu possa consertar isso depois?

    
por RolandiXor 19.05.2012 / 17:23

1 resposta

2
% bl0ck_qu0te%

Se você suspeitar que é um processo específico, basta iniciá-lo de dentro de um script bash, chamando ulimit -v N first, onde N é a memória máxima virtual em kilobytes que você deseja fornecer antes do kernel mata. Você saberá o que é quando morrer;)

Você também pode tentar definir uma tarefa cron simples que acrescente a saída de ps com parâmetros específicos (para memória) a um registro a cada minuto e analisada posteriormente.

Por fim, tente monit (em repos), que monitora processos e pode executar ações como matar, reiniciar, etc. quando limites específicos são excedidos.

    
por ish 20.05.2012 / 12:01