Estou executando o Ubuntu 12.04 e estou tendo um grande problema. Duas vezes separadas hoje, uma das minhas sessões de terminal gnome abertas trancou e imprimiu o erro
pipe: too many open files
Eu sei que provavelmente está relacionado ao meu limite de usuário mostrado com ulimit -n
que, a propósito, é 1024. O problema é que, quando isso acontece, posso forçar a saída do terminal problemático, mas não consigo abrir nada irá gerar um novo PID. Por exemplo, eu não posso usar xkill
para matar qualquer coisa, não consigo abrir outro terminal para ver o topo, não consigo executar o desligamento, não posso acessar apenas um console e efetuar login. Clicar em qualquer link que deve abrir uma janela X gera uma nova janela que diz:
There was an error launching the application.
Details: Failed to fork (Cannot allocate memory)
Este é o mesmo erro que recebo quando tento fazer o login depois de pressionar Ctrl + Alt + F1. Porque eu fico completamente preso neste momento, sou forçado a hardboot minha máquina. Isso está tornando extremamente difícil depurar.
Há algo que eu possa fazer para recuperar quando esse erro for encontrado? Como devo rastrear o erro?
Como nota final, eu não tenho rodado um número ridículo de coisas: dois terminais, um com uma sessão byobu com 2 abas, uma com uma sessão python; uma única instância do emacs, um único google chrome e vários nós ROS (sistema operacional do robô).
EDITAR
Pressionar Ctrl + Alt + Backspace para reiniciar meu gerenciador de exibição permitiu que eu fizesse login novamente e começasse a abrir um terminal. Usando ps
revelou que ainda havia muitos processos em execução que estavam sendo executados com o bloqueio. No mínimo, isso me permite reiniciar minha máquina a partir do software. Como devo proceder para determinar o que está causando esse problema?
EDIT 2
Acabei de abrir dois terminais que acabei de deixar de lado e esperei que o acidente acontecesse. Quando isso aconteceu, consegui capturar uma captura de tela da saída de top
. Não sei se a saída será particularmente útil, mas eu anexei. A única coisa que notei que foi particularmente estranho foi que havia 5 processos zumbis.