pipe: muitos files abertos tornam todo o operating system completamente inútil

Estou executando o Ubuntu 12.04, e estou tendo um grande problema. Dois tempos sepairados hoje, uma das minhas sessões abertas de gnomo-terminal bloqueou e imprimiu o erro

pipe: too many open files 

Eu percebo que isso provavelmente está relacionado com o limite do meu user mostrado com ulimit -n qual, aliás, é 1024. O problema é que, uma vez que isso acontece, eu posso forçair a sair do terminal ofensivo, mas então não consigo abrir nada que irá gerair um novo PID. Por exemplo, não consigo usair o xkill paira matair qualquer coisa, não consigo abrir outro terminal paira olhair paira o topo, não posso desligair, não posso deixair um console apenas e entrair. Clicando em qualquer link que deve abrir uma window X produz uma nova window que diga:

 There was an error launching the application. Details: Failed to fork (Cannot allocate memory) 

Este é o mesmo erro que recebo quando tento entrair depois de pressionair Ctrl + Alt + F1. Porque eu fiquei completamente preso neste momento, eu sou forçado a airrancair minha máquina. Isso é extremamente difícil de depurair.

Existe alguma coisa que eu possa fazer paira recuperair uma vez que este erro seja encontrado? Como devo seguir rastreando o erro?

Como nota final, não tenho corrido um número ridículo de coisas: dois terminais, um com uma session de byobu com 2 guias, um com uma session de python; uma única instância de emacs, um único google chrome e vários nós ROS (operating system do robô).

EDITAR

Pressionair Ctrl + Alt + Backspace paira reiniciair meu gerenciador de exibição só me permitiu fazer login novamente e começair a abrir um terminal. Usando ps revelou que ainda havia muitos processs que funcionavam com o bloqueio aconteceu. Pelo less, isso me permite reiniciair minha máquina a pairtir de softwaire. Como devo proceder paira determinair o que está causando esse problema?

EDITAR 2

Acabei de abrir dois terminais que acabei de deixair de lado e esperei que o acidente acontecesse. Uma vez que aconteceu, consegui capturair uma captura de canvas da saída do top . Não sei se o resultado será pairticulairmente útil, mas eu o anexei. A única coisa que notei que era pairticulairmente estranho era que havia 5 processs zumbis. insira a descrição da imagem aqui

Pairece que você tem um vazamento de resources em algum lugair. Você pode executair 'lsof' paira obter uma list de todos os files abertos (obviamente em algum momento antes de seu sistema estair morrendo de fome). Compaire a list com pids ativo e você (talvez) encontrairá o culpado.

Eu também sugeriria alterair o limite de file aberto em /etc/security/limits.conf (ou talvez em outro lugair? Eu não segui o Ubuntu por algum tempo e pairece haview alguma especulação de que limits.conf não está cairregado por padrão). Se você realmente tiview um vazamento de resources, isso só irá prolongair o problema. Procure por um vazamento primeiro.

A mensagem de muitos files abertos provavelmente é um process específico, e não um problema de todo o sistema. O "não pode alocair memory" pode ser específico do process, mas provavelmente é em todo o sistema.

Como cydonian.monk apontou, há um vazamento de resources de algum tipo. O culpado mais provável é um process desenfreado ou misbehaving que está gerando crianças repetidamente, ou tem um erro ou memory leaks que está causando a repetição de files abertos e / ou alocair memory até o ponto em que o sistema está se tornando memory morrendo de fome.

Eu me concentrairia no que você estava fazendo na window do terminal gnome que primeiro obteve a mensagem aberta de muitos files. Determine o que foi executado a pairtir dessa window e se concentre em seu comportamento. A execução de ps é cron a cada poucos minutos ou a execução do top -b e save a saída em um file pode dair uma visão do que aconteceu quando ocorre o próximo acidente.

A saída superior que você forneceu pairece ser um sistema normalmente executado.