ti-enxame.com

Como posso depurar um problema de suspensão para RAM no Linux?

Eu espero obter sugestões baseadas em experiência sobre como se deparar em questão suspender-se-ram. Conselhos específicos da minha situação (detalhada abaixo) seria ótimo, mas também estou interessado em conselhos gerais sobre como depurar essas questões.

o problema :

Muitas vezes, quando tento suspender minha máquina, fica preso em um estado "não suspenso, mas não acordado". Muitas vezes a tela será completamente preta, mas às vezes terá a seguinte mensagem de erro:

GLib-WARNING **: getpwuid_r(): failed due to unknown user id (0) 

Além disso, este estado também será acompanhado pelos fãs chutando em engrenagens altas. A única maneira de tirá-lo desse estado é desligar manualmente o laptop.

algumas informações

$ uname -a
Linux baltar 2.6.35-22-generic #34-Ubuntu SMP Sun Oct 10 09:26:05 UTC 2010 x86_64 GNU/Linux

$ lsb_release -a
Distributor ID:    Ubuntu
Description:    Ubuntu 10.10
Release:    10.10
Codename:    maverick

Eu dei uma olhada em /var/log/dmesg e /var/log/pm-suspend.log, mas eu não sei o que estou procurando e nada se destaca. Não tenho certeza se estiver relacionado, mas eu encontrei muitos dos seguintes em /var/log/kern.log:

EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro,commit=600
15
Steven D

Você tem um chipset de gráficos Intel? Eu estava recebendo o que parece o mesmo problema no meu thinkpad x200s executando o Ubuntu 10.10, e esta solução alternativa (a partir de 2008!) Corrigido para mim: http://ubuntuforums.org/showpost.php?p=6105510&postcount= 12 .

3
lawnjam

PM_DEBUG e PM_TRACE São aparentemente as instalações de depuração mais profundas existem agora. Quando você está ficando nada significativo de logs de nível superior, AFAIK este é o único mecanismo a cair quando se encontra a temida "misteriosa tela em branco no currículo". Na maioria das vezes, estamos lidando com um driver de dispositivo quebrado, muitas vezes sutilmente, quebrado. Você também pode dar uma olhada no My Broadcom Brcmsmac Wireless Driver Depurando Saga em Kernel Bug 34682 para que os desenvolvedores de kernel sugerem e procuram.

6
lkraav

Eu tenho suspeitas de que o problema pode ser devido ao BIOS não relatando corretamente sobre o que realmente usa.

Por padrão, esta opção está em vigor:

memory_corruption_check_size=64K

Você pode tentar definir isso para valores maiores para fazer com que o scanner de corrupção de memória examine um pedaço maior de LowMem.

Procure por "memory_corruption_check_size" em

etc.

Eu estaria interessado em saber o que você encontra, se alguma coisa.

1
user2472

Minha experiência em trabalhar nesta área foi no Windows CE, em vez de Linux.

Durante o ciclo de suspensão/retomada, o sistema operacional desligará progressivamente a funcionalidade do sistema operacional restringindo sua capacidade de obter informações confiáveis ​​precisas sobre o que está acontecendo usando a funcionalidade do sistema operacional. Além disso, sua conexão de monitoramento pode (por exemplo, se o problema for relacionado ao tempo) alterar o resultado.

Ferramentas de preferência Inicie com uma conexão de depurador C/C++ para o sistema operacional na extremidade alta, e no nível de baixo nível de baixo nível de envio de uma porta serial/POST CÓDIGOS ou no hardware não x86 jtag Depurador ou equivalentes. O resultado final é longa horas trabalhando fora do fluxo de código e encontrar o ponto quando se comporta de maneira diferente do comportamento normal. Nesse ponto, a correção é geralmente óbvia. Mantenha uma boa nota de cada vez.

Demorou 6 semanas para identificar o problema de poder que tivemos com o Windows CE. Tivemos uma placa de processador PC104 que poderíamos desligar por 10 ou 60 segundos e ligar sem problemas. No entanto, se a energia foi removida por 25 segundos, não poderia ligar. Acontece que tivemos uma capacitância suficiente para manter o conteúdo do DRAM intacto sem poder por cerca de 20 segundos, então em um pequeno ciclo de desligamento, o Windows CE achou que estava retomando de um estado suspenso. Quando toda a memória foi preservada, seria conseguir realizar um currículo, quando a memória estava parcialmente corrompida, seria bastante confusa durante o currículo.

Boa sorte.

0
Michael Shaw