O problema acabou sendo este:
processo de fusor iniciado pelo cron job bifurcando incontrolavelmente
Isso acontece com muitos programas diferentes do terminal. Geralmente acompanhada de alguma mensagem de erro sobre não conseguir alocar memória.
Quando eu tento "free -m", esta é a saída:
martin@martin-ThinkPad-T410:~$ free -m
total used free shared buffers cached
Mem: 3823 3079 744 0 99 1159
-/+ buffers/cache: 1820 2003
Swap: 3953 60 3893
Por que meu uso de swap é tão baixo? Isso está relacionado?
O problema acabou sendo este:
processo de fusor iniciado pelo cron job bifurcando incontrolavelmente
Você deve ter definido um limite para o número máximo de processos em /etc/security/limits.conf
ou talvez algum padrão seja definido no Ubuntu.
Eu tinha esse conjunto de 350 processos para evitar garfo-bomba acidental. O que me deixou louco - quando meus processos não conseguiam mais funcionar, o número de processos que eu executava na época estava longe do limite.
Acontece que a razão para isso é que não foram contabilizados processos, mas encadeamentos no nível do kernel.
ps -efL | grep ^$USER | wc -l
de fato mostrou que eu estava perto do limite. As muitas abas / janelas que eu tinha abertas apenas no cromo poderiam chegar a mais de 100 desses tópicos - não admira que eu tenha atingido esse limite facilmente.
Tags command-line swap memory