Como verificar o que está impedindo o MBP de desligar / reiniciar normalmente e corrigi-lo? [Agora com entradas de log]

12

E espero que seja realmente uma edição final: após a atualização para o Mountain Lion, o problema parece corrigido, espero que permanentemente.

Edição final: o problema não acontece o tempo todo, às vezes tenho que esperar vários dias para que ocorra. Portanto, é difícil testar sob diferentes condições (ou seja, modo de segurança ou com algum software desativado) e decidi que não vale a pena passar dias pesquisando condições diferentes para corrigir isso. As sugestões de Graham Perrin foram as mais úteis para encontrar informações específicas sobre problemas de reinicialização / reinicialização, não encontradas nos logs de uso geral.

Algumas entradas de log estão em Editar na parte inferior:

Meados de 2010 15in MacBook Pro, executando o OS X 10.7.4. Às vezes, ao tentar reiniciar ou desligar a máquina, ela não funciona - a tela fica cinza, a roda giratória mostra, mas a máquina não se desliga; portanto, após alguns minutos, preciso desligar a máquina pressionando o botão liga / desliga botão.

Isso não acontece sempre e não consigo relacionar nenhum software usado durante a sessão com o problema. De fato, ao testar isso, às vezes isso acontece quando tento desligar a máquina imediatamente após iniciá-la.

Como verificar o que está impedindo o desligamento / reinicialização normal? Suponho que tenho que procurar em alguns arquivos de log, mas não tenho certeza de quais e o que procurar.

Editar: adicionada a configuração detalhada de início / desligamento no nvram, conforme sugerido por Graham Perrin, e eventualmente a máquina ficou presa na reinicialização. Vi algumas entradas detalhadas na tela e após a reinicialização as encontrei em /var/log/launchd-shutdown.log. Parece que o WindowServer pode ter algo a ver com isso. Abaixo está o final desse arquivo de log com as 3 primeiras colunas removidas (a primeira teve alguns números inteiros crescentes, a segunda teve entradas de "1" e a terceira - "com.apple.launchd"):

234 com.apple.WindowServer   Dispatching kevent callback.
234 com.apple.WindowServer   Job has not died after being killed 2 seconds ago. Simulating exit.
234 com.apple.WindowServer   Dispatching kevent callback.
234 com.apple.WindowServer   EVFILT_PROC event for job.
1 com.apple.launchd         KEVENT[0]: udata = 0x107827a90 data = 0x0 ident = 234 filter = EVFILT_PROC flags= 0x0 fflags = NOTE_EXIT
234 com.apple.WindowServer   Reaping
234 com.apple.WindowServer   Simulated exit: <rdar://problem/9359725>
234 com.apple.WindowServer   Exited 22.016701 seconds after the first signal was sent
0 com.apple.WindowServer     Exited while shutdown in progress. Processes remaining: 0/0
0 com.apple.WindowServer   Job was last to exit during shutdown of: System.
0 com.apple.WindowServer    Total rusage: utime 0.000000 stime 0.000000 maxrss 0 ixrss 0 idrss 0 isrss 0 minflt 0 majflt 0 nswap 0 inblock 0 oublock 0 msgsnd 0 msgrcv 0 nsignals 0 nvcsw 0 nivcsw 0
0 com.apple.WindowServer  Closing receive right for com.apple.windowserver.active
0 com.apple.WindowServer  Mach service deleted: com.apple.windowserver.active
0 com.apple.WindowServer  Closing receive right for com.apple.windowserver
0 com.apple.WindowServer   Mach service deleted: com.apple.windowserver
0 com.apple.WindowServer    Removed
1 com.apple.launchd      System: No submanagers left.
1 com.apple.launchd    System: Removing.
1 com.apple.launchd   System: Removing job manager.
1 com.apple.launchd    System: Userspace shutdown finished at: Wed Aug  1 08:53:12 2012
1 com.apple.launchd   System: Userspace shutdown took approximately 22 seconds.
1 com.apple.launchd   VM statistics (now - orig): Free: 28472 Active: -21833 Inactive: -1038 Reactivations: 0 PageIns: 25 PageOuts: 0 Faults: 1654 COW-Faults: 335 Purgeable: -849 Purges: 0
1 com.apple.launchd   System: Stray process at shutdown: PID 234 PPID 1 PGID 234 WindowServer
1 com.apple.launchd       System: About to call: reboot(RB_HALT).
lupincho
fonte
Conecte todos os discos usados ​​normalmente, faça as conexões do servidor de arquivos usadas normalmente e execute o mountcomando. Incluir o resultado na sua pergunta pode ajudar a restringir as coisas.
Graham Perrin
Não há discos ou conexões de servidor de arquivos normalmente usados. Estou conectando unidades USB duas vezes por mês, mas não tenho nenhuma para tentar agora. Eu executei 'mount' sem nenhum disco conectado, mas não há nada suspeito.
Lupincho 29/07
Por favor, qual versão do Little Snitch? O problema é reproduzível com a inicialização segura ou sem o Little Snitch?
Graham Perrin
O LS mais recente e estável (2.5.3), não a pré-visualização da versão 3. Mas isso estava acontecendo com as versões 1-2 anteriores. Não posso testar isso razoavelmente sem o LS ou no modo de segurança, pois isso não acontece o tempo todo, às vezes leva dias para acontecer e não consigo operar a máquina dessa maneira por longos períodos de tempo. Eu acho que viveria com isso por enquanto e atualizarei para o Mountain Lion e veria o que acontece. Mas suas sugestões foram muito úteis e específicas, assim você recebe a recompensa.
Lupincho 2/08
Obrigado! Com base no seu plano de atualização do sistema operacional, adicionei uma seção à minha resposta. A resposta mais curta agora é que, em comparação com 10.7.4, 10.8 deve ser (a) menos provável que exija força; e (b) mais fácil de diagnosticar em caso de força.
Graham Perrin

Respostas:

6

Complementando outras respostas…


Observe o modo detalhado durante a reinicialização ou desligamento

Mac OS X: Como iniciar no modo de usuário único ou detalhado

- se você iniciar no modo detalhado, reiniciar ou desligar será similarmente detalhado.

Dica: se as coisas no modo detalhado parecerem não progredir além de um certo ponto, aguarde cinco minutos antes de:

  • forçar uma reinicialização (Command-Control-power); ou
  • forçando um desligamento (mantenha pressionada a tecla liga / desliga).

Se uma reinicialização forçada não for bem-sucedida, isso pode ser outra pista para a causa do (s) problema (s).

Uma questão relacionada, embora não orientada para o problema: alguém pode interpretar mensagens de desligamento detalhado?

O caso orientado a problemas aqui deve ser mais fácil de resolver para o lupincho. Menos folhas de chá.

Para iniciar no modo detalhado sem digitar Command-V

Uma preferência pode ser armazenada na NVRAM. Digite o seguinte comando no Terminal e esteja preparado para inserir sua senha de administrador:

sudo nvram boot-args="-v"

O próximo início do sistema será detalhado.


sysdiagnose

Antes de cada reinicialização ou desligamento, no Terminal:

sudo sysdiagnose

É demorado, mas você não precisa investigar os resultados de todas as execuções. Preste atenção apenas se surgirem problemas.

Para um caso como o de lupincho:

  • a execução de sysdiagnosepode revelar um problema antes de reiniciar ou desligar
  • o resultado final do sysdiagnose pode ser interessante após uma reinicialização forçada ou desligamento.

Mais especificamente: se uma série de sysdiagnosefalhas não progredir além de um certo ponto, saber esse ponto pode ajudar a entender o problema subjacente.

Durante a execução, você pode usar a seguinte combinação de teclas, repetidamente, para verificar se as coisas estão progredindo:

  • Control-T

Para a allmemoryparte da sysdiagnoserotina, a estimativa de dois minutos da Apple pode ser muito imprecisa. Seja paciente.

Se você suspeitar que sysdiagnosenão progride além de um certo ponto, digite:

  • Control-C

Se o uso repetido do Control-C não for interrompido sysdiagnose, então (na minha experiência com o Mountain Lion) é quase certo que uma tentativa de reiniciar ou desligar o sistema operacional falhará.


Monitoramento de desligamento

No Finder, vá para:

/private/var/log/shutdown_monitor.log

Esse arquivo normalmente está vazio, mas pode conter itens de interesse após um desligamento problemático. (Tenho pouca experiência nessa área.)

Se o único processo perdido no desligamento for o WindowServer

Não é incomum ter processos dispersos no desligamento. Um vadio só pode ser problemático se não for morto.

Se você suspeitar que o WindowServer não foi morto e que esse desvio específico contribui para a falha no desligamento: pergunte-se se algum software de terceiros faz uso fora do padrão do processo do WindowServer.

Visualização rápida de uma visualização GrabFS do WindowServer no Mountain Lion, com dois displays:

insira a descrição da imagem aqui

Se o Lion for semelhante, meu pressentimento é que a causa das falhas no desligamento está além do WindowServer.


Adivinhação, com base nos resultados do launchctl

Enquanto a máquina está funcionando normalmente, que resposta ao seguinte comando?

sudo launchctl list | grep  --invert-match com.apple

Gostaria de saber se algum software que não seja da Apple contribui para o problema. Software antivírus e anti-malware?


Após uma atualização do Lion para o Mountain Lion

Mirar em:

/private/var/log/com.apple.launchd/launchd-shutdown.system.log

Parece que o padrão é um log por desligamento, com no máximo dois, então também há:

/private/var/log/com.apple.launchd/launchd-shutdown.system.log.1

Após qualquer reinicialização forçada ou desligamento forçado, você pode optar por anular uma cópia da mais recente das duas. Se for necessária força em mais de uma ocasião, você poderá comparar os arquivos para ver se um padrão surge.

Geralmente

Não descarte a possibilidade de um problema com software de terceiros, nem mesmo a qualidade da versão. Little Snitch pode ser bem escrito e amplamente respeitado, mas:

  • quando problemas como o desta pergunta se tornam extensos ou muito intrigantes, qualquer extensão do kernel que não seja da Apple merece atenção.

Testei o Build 12A269 do OS X 10.8 por cerca de duas semanas antes de ser lançado, com atenção especial para desligar comportamentos em situações difíceis . Embora eu não tenha assistido a nenhum vídeo da WWDC 2012, sinto que a Apple trabalhou muito para impedir a necessidade de força em todas as situações, exceto as mais difíceis.

Com base na resposta de David DelMonte

Pelo menos no Mountain Lion, vejo a carga do Little Snitch 3.0 Preview 2 (3857) muito cedo - antes do início do log de desligamento . Se as coisas relacionadas a este KEXT chegarem atrasadas da mesma forma na hora do desligamento , talvez um problema não seja evidente nos arquivos de log habituais no disco.


Se alguma vez você descobrir a causa do problema - com Leão ou Leão da montanha - ficarei feliz em saber.

Enquanto isso, com muito obrigado pela recompensa, um pensamento final:

kextstat -l | grep --invert-match com.apple
Graham Perrin
fonte
1
Obrigado, habilitou o modo detalhado com o comando nvram. No entanto, mesmo após reiniciar, não há shutdown_monitor.log. Existem arquivos launchd-shutdown.log e launchd-shutdown.log.1 (parece que apenas o atual e o 1 anterior são mantidos, ao contrário de outros logs), mas eles estavam lá antes e eu os observei anteriormente. Estarei verificando as mensagens de desligamento no modo detalhado, espero poder ver onde o desligamento / reinício fica travado.
Lupincho 29/07
Se um problema persistir, tire uma foto ou duas da verbosidade. Não se preocupe muito com o foco, etc., reconhecerei os principais pontos, mesmo com alguns borrões. Tenho um palpite sobre o que há de errado no seu caso, a nova sysdiagnoseparte desta resposta pode ser mais relevante.
Graham Perrin
Nota lateral: aqui no Mountain Lion eu tenho /private/var/log/kernel-shutdown.log(com informações que são úteis para mim), mas não /private/var/log/launchd-shutdown.log.
Graham Perrin
Obrigado pela dica 'sysdiagnose', basta executá-la, correu bem, tentará novamente. Como você disse, isso leva algum tempo, caso contrário, eu poderia colocá-lo no gancho de logout para executar sempre.
lupincho 29/07
A automação é tentadora, mas devo me abster de criar sysdiagnoseum item de logout. Em um caso extremo, a automação pode piorar uma situação difícil.
Graham Perrin
2

Vá para Aplicativos -> Utilitários e abra o Console

Dê uma olhada no arquivo system.log, você poderá encontrar algo lá.

revólver
fonte
Não vejo nada de estranho lá.
Lupincho
Boa resposta do Revolver. +1. Você pode copiar e colar em sua pergunta, as entradas SYSTEM.LOG que você vê depois de solicitar um desligamento - e talvez alguns minutos antes .. colá-los em sua pergunta original ..
David DelMonte
Examinei o system.log várias vezes no passado e não encontrei nada incomum em comparação com desligamentos simples. Esperará a próxima vez em que isso acontecer e verificará os logs novamente. Eu deveria ter esclarecido que estou ciente dos logs de uso geral, atualizarei isso no meu post original.
Lupincho
2

pmset -g assertions obtém um resumo das asserções de poder:

$ pmset -g assertions
Assertion status system-wide:
   PreventUserIdleDisplaySleep             0
   CPUBoundAssertion                       0
   DisableInflow                           0
   ChargeInhibit                           0
   PreventSystemSleep                      0
   PreventUserIdleSystemSleep              1
   ExternalMedia                           1
   DisableLowPowerBatteryWarnings          0
   EnableIdleSleep                         1
   NoRealPowerSources_debug                0
   UserIsActive                            0
   ApplePushServiceTask                    0

Listed by owning process:
  pid 153: [0x00000099012c023b] PreventUserIdleSystemSleep named: "com.apple.audio.'AppleUSBAudioEngine:Apple Inc.:Display Audio:15261930:2,1'.noidlesleep" 
  pid 19: [0x00000013012c0235] ExternalMedia named: "com.apple.powermanagement.externalmediamounted" 

Você pode ver o caminho de um processo com ps up $pid:

$ ps up 153
USER          PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND
_coreaudiod   153   0.0  0.2  2475000   6740   ??  Ss   Fri05PM  12:17.71 /usr/sbin/coreaudiod
Lri
fonte
Eu corro e não mostra nada. O problema é que, após iniciar o desligamento / reinicialização, não consigo executar nenhum comando. Além disso, o problema nem sempre aparece, então eu precisaria verificar isso com frequência ou escrever um script para salvar as informações em um arquivo, para que, após um desligamento / reinicialização problemática, eu possa voltar ao arquivo e ver se algo apareceu . Mas isso parece um bom ponto de partida, muito obrigado!
Lupincho
1

Eu costumava ter esse problema e encontrei uma correção que funcionou para mim. Embora eu não esteja respondendo diretamente à sua pergunta (como verificar o que está causando o problema), é uma correção que pode valer a pena tentar:

  1. Navegue para "Macintosh HD> Biblioteca"
  2. Exclua a pasta chamada "Java"
  3. Lixo vazio
  4. Desligar
  5. Depois de executar qualquer coisa relacionada ao Java, você será solicitado a reinstalar o Java, faça isso.

Depois disso, o tempo de desligamento deve melhorar. Nota: Ainda estou obtendo encerramentos lentos quando encerro imediatamente após o sistema iniciar; portanto, depois de seguir as etapas e desejar testar, aguarde alguns minutos após o sistema iniciar antes de desligar.

bogdansrc
fonte
Isso é interessante; fez isso, vamos ver o que acontece. O problema é que isso não acontece sempre, portanto, a única maneira de verificar é aguardar vários dias e, se não acontecer novamente, isso pode significar que está corrigido.
Lupincho
Não funcionou, apenas ocorreu um problema ao desligar a máquina.
lupincho 29/07
1
  1. Você tem algum equipamento periférico conectado (USB, FW, etc)?

Nesse caso, seria interessante desconectar tudo e verificar se o problema existe.

  1. Você já tentou reparar permissões e verificar a integridade dos arquivos?

Espero que estas ajudem.

David DelMonte
fonte
Eu reparei permissões. Sem periféricos, nem mesmo um cabo Ethernet. Irá adicionar essa informação à pergunta.
Lupincho 29/07
Periféricos - sempre bom considerar quando (como na pergunta de lupincho) há um cheiro de problema com a E / S. Permissões - O IMHO provavelmente não impede o desligamento do sistema operacional. Desintegração - possível, mas para mim a pergunta em sua forma atual cheira mais a um problema com o software. (Nota lateral, na integridade: O software de código livre ou aberto pode eu uso com hardware Mac para verificar a integridade de cada bloco de um disco onde Núcleo de armazenamento é usado? - muito technobabble lá no momento, eventualmente, ele deve condensar a algo muito mais simples).
Graham Perrin
1

Mais algumas idéias:

  1. Crie outra conta de usuário. Faça login apenas como esta conta de teste. Se você não tiver o problema, é provável que seja algo no seu software de usuário. Se você tiver o problema, é possível que seja um hardware.

  2. Tente recriar o problema usando apenas a energia da bateria.

  3. Siga as etapas para o controlador de gerenciamento de sistema da Apple -

Redefinindo o SMC (System Management Controller) Redefinindo os portáteis SMC no Mac com uma bateria que você pode remover

Desligar o computador. Desconecte o adaptador de energia MagSafe do computador, se estiver conectado. Retire a bateria. Pressione e segure o botão liga / desliga por 5 segundos. Solte o botão liga / desliga. Reconecte a bateria e o adaptador de energia MagSafe. Pressione o botão liga / desliga para ligar o computador.

David DelMonte
fonte
Votada principalmente para a sua ideia (1). Para a idéia (2), com os sintomas descritos atualmente, pessoalmente, eu não suspeitaria de nenhuma diferença apenas com a energia da bateria. No entanto, problemas como o de lupincho são surpreendentemente difíceis de diagnosticar sem acesso direto ... portanto, não é uma má idéia. A idéia (3), os problemas resolvidos por uma redefinição são (para mim) extremamente raros ... mas, novamente, não é uma má idéia - rápida e simples de executar, e isso também ganha meu voto.
Graham Perrin
1

Não sabia que você tinha o pequeno pomo correndo. Acabei de resolver um problema semelhante para um amigo, removendo o LS. Eu sugiro que você tente isso. Para remover corretamente, baixe o instalador do LS novamente. Execute o instalador, mas selecione desinstalar.

Também estou curioso por que você gostaria de usar este aplicativo ..

David DelMonte
fonte
Ainda não está na pergunta, Little Snitch foi mencionado pela primeira vez em (mais) comentários a uma resposta.
Graham Perrin
Por favor: o computador do seu amigo executou Lion ou Mountain Lion? Qual versão do Little Snitch foi desinstalada?
Graham Perrin
1
Aquele era o Lion. Eu não sei a versão LS .. desculpe.
David DelMonte
1
Não há provas de que o LS esteja causando isso e, infelizmente, porque o problema não ocorre sempre, testar isso com o LS removido levaria vários dias durante os quais não posso perder o LS. Quanto ao motivo da execução do LS: há muitos programas ligando para casa e é apenas mais um nível de controle para o tráfego de saída. O que eu faria eventualmente seria atualizar para a versão 3, quando for lançada oficialmente.
Lupincho 2/08
Para fins de solução de problemas, o Little Snitch pode ser tratado de maneira diferente dos outros KEXTs de terceiros por pelo menos dois motivos: (i) o início de sua carga e (ii) sua localização no domínio do sistema em /System/Library/Extensions. Com crédito a David, adicionei uma seção à minha resposta.
Graham Perrin
0

Minha namorada tinha simplesmente excluído os diretórios dos paralelos, arrastando e soltando o diretório na lixeira e esvaziando o lixo. No entanto, encontrei paralelos novamente na pasta Biblioteca e havia um script de shell (arquivo .sh) para desinstalá-lo corretamente. Isso funcionou e resolveu nossos longos problemas de inicialização.

Menciono isso porque os paralelos são uma causa conhecida de muitas inicializações lentas e parece que não é tão fácil desinstalar como o site indica (basta arrastar e soltar o diretório).

Trilhas felizes, espero que isso ajude alguém.

Lyra
fonte