12 votes

Qu'est-ce qui fait que launchd brûle mon CPU ?

J'utilise Yosemite, une installation propre.

launchd fonctionne continuellement à 100% du CPU. Depuis la mise à jour de Yosemite, je ne peux plus modifier le niveau de journalisation avec "sudo launchctl log level debug".

En vérifiant le top ou le moniteur d'activité, je peux voir que launchd lui-même utilise beaucoup le CPU, pas un processus qu'il génère. Il a le temps processeur le plus élevé de la boîte, 3 fois celui de la tâche du noyau, et beaucoup plus que Plex qui est réellement lourd en termes de CPU - transcodage vidéo, et il supporte beaucoup de clients dans la maison qui tournent fréquemment.

Rien de significatif dans les journaux que je peux voir : le message le plus fréquent :

11/6/14 10:06:38.748 PM com.apple.xpc.launchd[1] : (com.apple.imfoundation.IMRemoteURLConnectionAgent) La clé _DirtyJetsamMemoryLimit n'est pas disponible sur ce serveur. _DirtyJetsamMemoryLimit n'est pas disponible sur cette plate-forme.

C'est seulement 3 à 6 fois par heure.

J'ai fait une vérification rapide de tous les démons launchd pour trouver des codes d'erreur.

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

Il est intéressant de noter que le code -43 sur Watchdogd ne correspond pas à la sortie de launchctl list :

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";
    );
};

Dans tous les cas, je ne sais pas s'ils sont symptomatiques ou s'ils sont juste une fausse piste.

Comment puis-je savoir ce qui fait que launchd DOS mon ordinateur ?

5voto

charles horvath Points 151

Il existe une application appelée LaunchControl qui fournit une interface très agréable pour créer/contrôler/modifier/désactiver les démons de lancement et les agents. C'est beaucoup plus facile que de chercher des éléments de démarrage dans 5 dossiers différents. (Je ne suis pas affilié à eux de quelque manière que ce soit).

Je vais les désactiver un par un jusqu'à ce que votre problème disparaisse.

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

2 votes

J'approuve LaunchControl. Il était gratuit (j'ai ensuite versé mes 10 $ pour l'obtenir) et m'a permis d'économiser des heures de mon temps à identifier le problème avec un script. Après avoir passé près de trois semaines à faire semblant de s'y connaître en codage, ce petit programme a fait fonctionner mon démon en quelques minutes. Geoff

0 votes

LaunchControl nous a beaucoup aidés.

2voto

mac Points 121

Allez dans /var/log/system.log et voyez s'il y a des erreurs. En corrigeant ces erreurs, vous résoudrez le problème.

Référence : https://discussions.apple.com/thread/6616343?tstart=0

Dans mon cas, c'était Spotlight qui causait le problème. Je l'ai désactivé et ensuite launchd a commencé à prendre plus de CPU. Le fait de le réactiver a réglé le problème pour moi.

1voto

moodforaday Points 2633

Ça vaut la peine d'essayer :

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/

Redémarrez ensuite votre ordinateur, et voyez si le problème persiste.

Notez que le déplacement des différents fichiers de ces répertoires peut empêcher certaines applications tierces de fonctionner comme prévu après le redémarrage. Si cela n'aide pas, vous pouvez les remettre en place en inversant l'option mv commandes

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

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

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

et redémarrez à nouveau.

Si elle fait Si vous n'y parvenez pas, vous devrez restaurer les différents fichiers avec soin, de préférence un par un, afin de déterminer lequel d'entre eux est à l'origine du problème.

0voto

DarrynC Points 27

Dans mon cas, c'était l'extension Skype qui faisait tourner le launchd sans arrêt. En utilisant la console ap., j'ai pu voir ce qui tournait beaucoup et une fois que j'ai supprimé l'extension Skype, le launchd n'était plus en tête des utilisateurs de cpu.
J'espère que cela vous aidera.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X