O que está causando o launchd queimar minha CPU?


9

Estou executando o Yosemite, uma instalação limpa.

O launchd é executado continuamente a 100% da CPU. Desde a atualização do Yosemite, não posso alterar o nível de log com 'sudo launchctl log level debug'

Verificando o topo ou o Monitor de Atividade, posso ver que o launchd em si está usando muito a CPU, não um processo que está gerando. Ele tem o maior tempo de CPU disponível, três vezes o tempo da tarefa do kernel e muito mais alto do que o Plex, que é genuinamente pesado na CPU - transcodificação de vídeo, e suporta muitos clientes em casa executando com freqüência.

Nada significativo nos logs que posso ver: a mensagem mais frequente:

11/6/14 10: 06: 38.748 PM com.apple.xpc.launchd [1]: (com.apple.imfoundation.IMRemoteURLConnectionAgent) A chave _DirtyJetsamMemoryLimit não está disponível nesta plataforma.

Isso é apenas cerca de 3-6 vezes por hora.

Eu fiz uma verificação rápida em todos os daemons launchd para encontrar os códigos de erro.

alex@smiley:~|⇒  launchctl list | grep -v "\t0\t"
PID Status  Label
28122   -15 com.apple.Finder
alex@smiley:~|⇒  sudo launchctl list | grep -v "\t0\t"
PID Status  Label
219 -43 com.apple.watchdogd
21134   -15 com.apple.security.syspolicy

Curiosamente, o código -43 no Watchdogd não corresponde à saída da lista launchctl:

alex@smiley:~|⇒  sudo launchctl list com.apple.watchdogd
{
    "StandardOutPath" = "/var/log/watchdogd/log";
    "LimitLoadToSessionType" = "System";
    "StandardErrorPath" = "/var/log/watchdogd/log";
    "Label" = "com.apple.watchdogd";
    "TimeOut" = 30;
    "OnDemand" = false;
    "LastExitStatus" = 171;
    "PID" = 219;
    "Program" = "/usr/libexec/watchdogd";
    "ProgramArguments" = (
        "/usr/libexec/watchdogd";
    );
};

De qualquer forma, não tenho certeza se são sintomáticos ou apenas um arenque-vermelho.

Como posso descobrir o que está tornando o DOS do launchd meu computador?

Respostas:


4

Existe um aplicativo chamado LaunchControl que fornece uma interface muito boa para criar / verificar / modificar / desativar daemons e agentes de inicialização. É muito mais fácil do que procurar em 5 pastas diferentes itens de inicialização. (Eu não sou afiliado a eles de nenhuma maneira.)

Gostaria de desabilitar cada um de cada vez até que seu problema desapareça.

http://www.soma-zone.com/LaunchControl/


2
Apoio o LaunchControl. Era gratuito (depois contribuí com meus US $ 10) e economizava horas do meu tempo identificando o problema com um script. Depois de quase três semanas fingindo saber algo sobre codificação, esse pequeno programa fez meu daemon rodar em minutos. Geoff
GeoffatMM

O LaunchControl foi muito útil.
orangepips

1

Vale a pena tentar:

mkdir ~/Desktop/MyLaunchAgents ~/Desktop/LaunchAgents/ ~/Desktop/LaunchDaemons/

mv -vn ~/Library/LaunchAgents/* ~/Desktop/MyLaunchAgents/

sudo mv -vn /Library/LaunchAgents/* ~/Desktop/LaunchAgents/

sudo mv -vn /Library/LaunchDaemons/* ~/Desktop/LaunchDaemons/

Em seguida, reinicie o computador e veja se ele ainda está acontecendo.

Observe que mover os vários arquivos desses diretórios pode fazer com que alguns aplicativos de terceiros não funcionem conforme o esperado após a reinicialização. Se não ajudar, você pode recuperá-los revertendo os mvcomandos

mv -vn ~/Desktop/MyLaunchAgents/* ~/Library/LaunchAgents/

sudo mv -vn ~/Desktop/LaunchAgents/* /Library/LaunchAgents/

sudo mv -vn ~/Desktop/LaunchDaemons/* /Library/LaunchDaemons/

e reinicie novamente.

Se ele faz ajuda, então você vai precisar para restaurar os vários arquivos com cuidado, de preferência, um de cada vez, para ver qual deles está causando o problema.


1

Vá para /var/log/system.log e veja se há algum erro. A correção desses erros resolverá o problema.

Referência: https://discussions.apple.com/thread/6616343?tstart=0

No meu caso, foram os holofotes que estavam causando o problema. Eu o desativei e o launchd começou a usar mais CPU. Ativá-lo de volta corrigiu o problema para mim.


0

No meu caso, foi o extensor do Skype que estava causando o lançamento do launchd sem parar. usando o console ap. Eu era capaz de ver o que está executando alto e, uma vez excluído o extensor do Skype, o almoço não estava mais no principal usuário da CPU.
Espero que ajude você.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.