A execução de Python e Matplotlib está impedindo meu computador de hibernar? Como posso descobrir?
Tenho notado que às vezes, quando abro meu laptop, a bateria caiu para 99% ou mesmo 97% após um dia ou mais.
Eu o configurei para hibernar depois de ser fechado por 5 segundos e verifiquei que ao ver que, se ele ficar fechado por mais de cinco segundos, preciso usar o touch-ID ou uma senha para começar a usá-lo.
Provavelmente existe uma maneira mais inteligente de descobrir ou pesquisar se / quando ele entrou no modo de espera pela última vez, mas não sei.
Mas às vezes, enquanto trabalho, de repente preciso parar por horas ou mais, e em alguns casos estou executando o Python do iTerm2 e tenho um gráfico matplotlib aberto que não quero fechar (eu uso widgets e ele tem um painel de controle e configurações Quero continuar a usar mais tarde).
E às vezes noto que, quando abro meu MacBook Air novamente, a bateria acabou.
Testando, vejo que ainda preciso usar o Touch ID após 5 segundos quando estiver neste estado.
Questões:
- A execução de Python e Matplotlib está impedindo meu computador de hibernar?
- Há alguma maneira de descobrir ou pesquisar se / quando ele entrou no modo de espera pela última vez? Isso será útil na depuração desse problema.
clique para aumentar
Respostas
Tenho notado que às vezes, quando abro meu laptop, a bateria caiu para 99% ou mesmo 97% após um dia ou mais.
Uma queda de 1 a 3% na bateria em um período de 24 a 48 horas é muito normal e esperada. Quando você colocar o Mac para hibernar, todos os processos serão suspensos (desde que você não feche as janelas do iTerm).
A pequena queda na bateria é provavelmente devido ao PowerNap (suporte para MacBook Air desde 2010), que irá despertar periodicamente o computador para verificar se há e-mails, atualizações, sincronizar documentos iCloud, mensagens, notas, etc.
A execução de Python e Matplotlib está impedindo meu computador de hibernar?
Poderia? Sim. Mas com base nos sintomas que você apresentou, não é. Seu Mac demoraria "um ou dois dias" e só perderia 1-3% da carga se houvesse um processo ativo impedindo-o de hibernar. Uma maneira super fácil de confirmar isso é verificar o processo do script (você nunca mencionou o que ele faz, então minha resposta é genérica aqui), se o script foi concluído ou progrediu durante esse tempo, então obviamente estava em execução. Se estiver exatamente onde você o deixou, seu Mac estava dormindo.
- Os processos do Terminal param se o Mac estiver em repouso?
Há alguma maneira de descobrir ou pesquisar se / quando ele entrou no modo de espera pela última vez? Isso será útil na depuração desse problema.
Não há problema para depurar.
O que você está vendo é completamente normal. Uma queda de carga da bateria de 1-3% (em média 2%) em "um dia ou mais" está dentro da norma, mesmo com o PowerNap desativado. Se o seu Mac não estivesse dormindo, sua reclamação seria muito diferente - seria que a bateria acabou completamente e travou seu aplicativo / processo. Para diagnosticar esse problema, você emitiria o comando
% pmset -g assertions
Isso vai lhe dizer o que está impedindo seu Mac de hibernar. Ele deve retornar zeros.
A outra razão pela qual "um problema" não deve ser assumido é que há uma distinção muito importante entre sono e hibernação. Quando seu Mac hiberna, a CPU entra em um modo de energia mais baixa (não desligada) e o estado atual é mantido na memória (há muito mais, mas vamos limitá-lo a essas funções principais). Isso significa que há um consumo de energia. Se você quiser interromper o consumo de energia (tecnicamente, você não pode impedir completamente o descarregamento de uma bateria devido à física e à química que regem a bateria), é necessário hibernar o computador. É aqui que o estado será gravado no disco e a energia desligada.
Agora, para ver quando o Mac adormeceu, você também pode obter o registro pmset:
% pmset -g log | grep -i "sleep\|wake"
O problema com isso é que, com as versões mais recentes do macOS, o computador ainda será ativado por motivos arbitrários, mesmo com o PowerNap desativado. Eu sei disso porque posso ouvir um scanner de código de barras "reiniciado" (faz um som quando conectado ao USB) periodicamente, embora eu tenha o Mac dormindo com o PowerNap desativado. Por algum motivo, ele redefine o barramento USB. Não investiguei mais isso porque a) acontece em todos os Macs que usei eb) o Mac nunca teve nenhum efeito nocivo quando acordado. Todos os processos foram suspensos como deveriam.
Limitando o escopo dos sintomas à queda na carga da bateria durante alguns dias, você acabará procurando uma solução para um não-problema.