A execução de qualquer comando retorna “Não é possível alocar memória” no Ubuntu Server

8

Estou usando o Ubuntu 14.04. Recentemente, quando eu faço o login via SSH com meu usuário com privilégios sudo, todos os comandos que executo resultam em um erro “Não é possível alocar memória”. Aqui estão alguns que eu tentei no meu console

myuser@mymachine:~$ whoami
-bash: fork: Cannot allocate memory
myuser@mymachine:~$ uname -a
-bash: fork: Cannot allocate memory

Mesmo que eu tente sudo reboot now , recebo o erro acima, então não sei mais o que posso tentar para desbloquear minha instância. O host é DigitalOcean, se isso importa.

Editar: De acordo com a resposta / sugestão dada aqui é a saída de "livre"

myuser@mymachine:~$ free
-bash: fork: Cannot allocate memory
    
por Dave 03.11.2016 / 21:01

1 resposta

8

Solução

Como se diz nas mensagens de erro, sua máquina ficou sem memória. Isso pode ser por uma série de razões, mas basicamente, algo está consumindo toda a sua memória e não deixando nenhuma esquerda para o uso do comando básico.

Eu sugiro que você reinicie seu droplet (basta acessar o painel de controle do cliente e selecionar "Reboot"), ssh in e, em seguida, executar top ou htop . Fique de olho no uso da memória e veja qual processo está usando toda a memória. De lá, tente

  1. Matando / Removendo o programa / processo com falha

    AVISO : POR FAVOR faça sua pesquisa se o processo é um processo essencial do sistema, primeiro! Se um processo do sistema está causando problemas de memória, não apenas o mate, faça pesquisas e formas específicas de lidar com ele.
  2. Alterando a configuração desse programa / processo para que ele não consuma toda a sua memória.

Sugestões para evitar que o problema volte a acontecer

  • Algo bom a fazer é adicionar memória swap , como aloca mais memória se você está se esgotando.
  • Sempre que você instalar programas, certifique-se de configurá-los corretamente para que eles não sejam executados de maneira não intencional (como consumir memória)
  • Após cada vez que você adicionar um pacote ou basicamente qualquer coisa nova estiver configurada, verifique com htop ou top para ver quanta memória você está usando com os programas atuais. Se você perceber que está usando quase tudo isso, tente limpar alguns deles, removendo programas / processos desnecessários.
  • Se houver algo que está sendo iniciado automaticamente (além dos processos do sistema, é claro!) que você não reconhece ou deseja iniciar automaticamente, remova-o! Mas sempre faça sua pesquisa sobre o que é um processo antes de eliminá-lo, pois ele pode ser essencial para procedimentos de inicialização ou funções do sistema, etc.
por Owen Hines 03.11.2016 / 21:55