Como investigar a causa do travamento total?

19

Às vezes, minha máquina Arch trava, de repente não responde de forma alguma ao mouse ou ao teclado. O cursor está congelado. Ctrl-Alt-Backsp não para o X11 e ctrl-alt-del não faz exatamente nada. Os gráficos de atividade da CPU, da rede e do disco no conky e no icewm param de atualizar. Em alguns minutos, o ventilador liga. A única maneira de fazer o computador fazer alguma coisa é desligar a energia.

Quando é inicializado, os monitores de temperatura da CPU mostram 70 a 80C. Antes do travamento, eu costumava fazer atividades de baixa intensidade, como navegar na Web por volta dos 50 ° C.

Os logs não mostram nada de especial em comparação com um desligamento normal. O verificador de memória funciona bem com zero defeitos.

Como posso investigar por que desligou? Há informações extras que eu possa encontrar para obter uma pista? Existe algo menos drástico do que desligar para obter algum tipo de ação, se apenas uma concha limitada ou apenas um bipe, mas pode dar uma pista?

A máquina é um laptop Gateway P6860 17 "(volumoso, mas poderoso) e está executando o Arch 64bit, atualizado (em março de 2011). Eu tive o Arch por um longo tempo sem esse problema, mudei para o Ubuntu por cerca de uma semana depois recuou para uma nova instalação do Arch. Foi quando as cortinas começaram.

ATUALIZAÇÃO: Sim, com certeza está superaquecendo. A uma temperatura, o mouse e o teclado param de funcionar, às vezes se tornando funcionais após vários minutos de resfriamento. A uma temperatura mais alta, coisas piores acontecem, como total falta de resposta, incluindo ignorar o SysRq. Essa condição é logo seguida por um desligamento repentino. Eu resolvi o problema comprando um novo computador 8D

DarenW
fonte

Respostas:

7

A resposta de Frederik envolvendo SysRq mágico e despejos de kernel funcionará se o kernel ainda estiver em execução e não for realmente interrompido. O kernel pode apenas estar ocupado por algum motivo.

O fato de não responder ao Ctrl-Alt-Del me diz que provavelmente não é o caso e que a máquina está travando com força. Isso significa falha de hardware, ou algo intimamente relacionado, como um driver ruim.

Seu teste de verificação de memória é bom, se você o deixar executar o tempo suficiente. Você também deve tentar outras coisas para tentar estressar o sistema, como o StressLinux . Os benchmarks de longa duração também são bons.

Outra coisa a tentar é inicializar o sistema com um CD ao vivo do Ubuntu e tentar usá-lo normalmente. Se retornar temporariamente ao Ubuntu assim não causar o problema, há uma boa chance de que não seja realmente um hardware quebrado, mas uma das coisas relacionadas, como um driver ruim ou um kernel configurado incorretamente. É bem possível que uma distribuição mais popular como o Ubuntu possa ter uma configuração mais estável do kernel do que uma como o Arch, simplesmente devido ao maior número de máquinas testadas durante a fase de teste da distribuição.

Warren Young
fonte
Eu acredito que Ctrl-Alt-Delete é tratado pelo init, portanto pode não funcionar, mesmo que o kernel ainda funcione. OTOH AFAIR o kernel não espera pelas chaves SysRq após um pânico.
JPC
11
Isso é possível. Para distinguir os casos, coloque ctrlaltdel hardno seu /etc/rc.localarquivo. Quando o sistema travar, tente Ctrl-Alt-Del. Se ainda não fizer nada, você tem certeza de que o kernel não está mais em execução; você tem uma falha de hardware ou driver.
Warren Young
11
Eu tive os kernels respondendo às chaves do Magic SysRq, mesmo que estivesse em pânico. A configuração apropriada do serviço kdump deve garantir que um sistema completamente conectado seja inicializado no kernel do kdump, portanto, ele deve voltar a funcionar.
Jsbillings
11
Depois de uma rápida olhada no código de manipulação do teclado do kernel, parece-me que Ctrl-Alt-Del e Magic SysRq são manipulados no mesmo nível: se um funciona, o outro funciona. O problema do init (1) / SIGINT é separado e é tratado pela configuração do tratamento com Ctrl-Alt-Del para uma reinicialização completa, conforme mencionado no meu outro comentário.
Warren Young
11

Em relação ao congelamento, existem algumas opções:

  • usando uma porta serial se sua caixa tiver uma para obter o despejo lá, adicionando console=ttyS0às opções de inicialização, conforme descrito aqui . Você precisa de uma segunda máquina com uma porta serial e um cabo de modem nulo para capturar o arquivo de despejo.

  • usando o netconsole para obter o despejo pela rede, veja aqui .

  • Usando o kexec / kdump dessa maneira, você obtém um dump local, veja aqui .

Em relação ao problema de desligamento limpo, sugiro que você use a chave mágica SysRq para 'sincronizar os discos', monte-os e depois reinicie a caixa (as letras são as que você deve digitar juntamente com alt -sysrq.

Editar: Se você publicar oops / trace no lkml, use uma versão recente (de preferência a mais recente) do kernel e nenhum módulo proprietário.

Frederik Deweerdt
fonte
11
Posso imaginar muitas vozes jovens dizendo "O que é uma porta serial, vovô?" Na verdade, não acho que essa máquina tenha uma.
darenw
Lembro-me de ler algo sobre o SysReq há alguns anos atrás. Se eu pudesse pesquisar no google quando a máquina estiver morta! Acho que ficaria melhor ajuste ocupado-se uma segunda máquina ...
darenw