login SSH e / tmp em 100%

2

Sem contar o espaço reservado pela raiz (geralmente 5%), se o / tmp estiver realmente 100% cheio, então 0 bytes livre, porque não poderíamos fazer login na máquina via ssh ? Nós só temos a mensagem de erro "não pode bifurcar".

Existe algum parâmetro para o cliente ssh para que ainda possamos fazer login em uma máquina quando ela tiver 100% full / tmp?

UPDATE: a reinicialização não é realmente uma opção: \

    
por thequestionthequestion 10.10.2014 / 18:43

5 respostas

1

Eu não acho que o /tmp completo seja o problema. A chamada do sistema fork() só falha com esse erro específico se houver muitos processos em execução.

Você tem um conjunto ulimit?

Se você não pode acessar o console, então há muito pouco que você pode fazer ...

    
por 10.10.2014 / 18:53
1

Eu tenho visto casos em que / tmp é suportado pelo espaço SWAP .... então, se você estiver trocando AND tiver muita atividade / tmp, é muito possível que a falta de espaço SWAP você veja esta mensagem.

Se você estiver sem memória, talvez tenha muito pouca escolha do que reinicializar. O assassino de memória pode estar funcionando, no entanto, ele mata indiscriminadamente processos dos quais alguns podem ser importantes.

Outra coisa é que um (ou mais) processo preencheu a tabela de processos. Sem mais vagas disponíveis, você também pode receber essa mensagem. Sua solução aqui seria uma operação de busca e destruição nos processos que causam a condição .... assumindo que você pode fazer o login. Se você não conseguir fazer login, a reinicialização será sua única alternativa.

Finalmente, é claro, o software ou hardware da máquina pode estar tendo um problema sério. Assim causando a situação que você está descrevendo.

    
por 10.10.2014 / 19:09
1

Em muitos sistemas, /tmp é um sistema de arquivos virtual que vive na RAM. Dependendo de como você está configurado, preenchê-lo pode consumir toda a sua memória RAM e deixá-lo sem memória suficiente para inicializar um novo processo.

Como você pode imaginar, isso não é algo que ssh possa resolver após o fato. Mas você pode impedir que isso aconteça no futuro, ajustando /tmp para que ele não fique tão grande assim.

    
por 10.10.2014 / 19:05
1

Um processo que falha na bifurcação ocorre porque o sistema está sem memória ou porque o usuário atingiu o número máximo de processos - devido, por exemplo, a uma bifurcação.

Estou curioso em saber como você sabe que / tmp está cheio se você não pode entrar na máquina - mas meu palpite é que qualquer que seja o processo preenchido / tmp também pode estar sugando os recursos necessários para você em.

Se você tiver acesso físico à máquina, pode tentar usar um login de console para recuperar as coisas, ou usar o magic sysreq (supondo que seja uma máquina Linux) para controlar as coisas.

Você também pode conseguir que o sftp funcione mesmo quando o ssh não, já que ele deve usar menos memória e gastar menos do que um shell - e você pode usá-lo para deletar arquivos do controle remoto, se conseguir logado.

    
por 10.10.2014 / 19:15
0

Como solução alternativa, tente ssh após uma reinicialização. Uma vez eu encontrei um problema similar que foi resolvido automaticamente após a reinicialização do sistema!

    
por 10.10.2014 / 18:45

Tags