memory & swap estão cheios, não podem ssh; alguma opção diferente de reinicialização física?

5

por engano, eu executei algumas aplicações que usavam toda a memória (e eu acho swap) no meu servidor Ubuntu e agora está travado, o SSH não funciona e congela. Você conhece outras opções além das seguintes soluções:

  1. reinicie fisicamente o servidor.
  2. espere até que um processo termine.

existe alguma maneira de reiniciar remotamente o servidor quando o ssh não está funcionando? Eu ainda posso ping no servidor, então me perguntando se alguma memória reservada está lá para matar processos hostis ou para comandos básicos, como reiniciar o sistema operacional.

* Os comandos executados com "nohup" não terminaram fechando sessões ssh.

    
por Ehsan 23.09.2011 / 03:48

2 respostas

5

Não, o seu sistema está ... praticamente pronto. Suas únicas esperanças estão esperando por um fim, ou ter um tão grande que o assassino da OOM varre e faz algo a respeito.

    
por 23.09.2011 / 04:00
1

Parece que o seu sistema está fazendo o que é chamado de "thrashing". O que isso significa é que seu sistema está trocando páginas de entrada e saída de memória para sistemas em uso. Isso inclui o SSH.

Você realmente tem algumas opções. A primeira opção é, obviamente, reiniciar o servidor, mas parece que não é uma opção muito boa para você, porque não é local para você. Se estiver em um datacenter, você poderá levá-los a acessá-lo e reiniciá-lo. Você precisa verificar com o seu DataCenter.

A segunda opção também é bem simples. Sua sessão de SSH simplesmente fica pendurada esperando que algumas coisas sejam trocadas para que possa alocar um tty para você. Eu já tive isso comigo antes, e você só tem que esperar para responder, pode demorar um pouco. Depois de ter um cli, você pode matar ou reiniciar o servidor.

A razão pela qual você pode fazer o PING do servidor é realmente muito simples, a pilha de IP do kernel (IIRC) não é trocada, e é por isso que o ICMP é capaz de responder.

Uma terceira opção exigiria alguma configuração antes da mão, então não acho que seja uma opção real para você agora. Você pode configurar um modem para permitir que você disque para um número e obtenha um console serial. Na mesma nota, você pode usar o protocolo IPMI Serial over LAN (SOL) para obter um console serial. Também o IPMI pode permitir que você reinicialize o servidor. Mais uma vez, parece que não estão configurados para você.

    
por 23.09.2011 / 04:19