Message étrange dans la console sur la clé _DirtyJetsamMemoryLimit

36

Ce message est toujours affiché dans le journal de la console à intervalles réguliers.

com.apple.xpc.launched: (comm.apple.imFoundation.IMRemoteURLConnectionAgent) the _DirtyJetsamMemoryLimit key is not available in this platform

Quelqu'un peut-il expliquer pourquoi il est affiché et s'il a un impact sur les performances du système, ainsi que comment s'en débarrasser?

erwin
la source
1
J'ai le même message sur deux machines Yosemite (l'une une mise à niveau de Mavericks, l'autre une installation propre). Des heures de recherche sur Internet m'ont laissé les mains vides… tous les résultats se référaient à la programmation iOS (donc c'est peut-être un problème avec une base de code partagée?). Peut-être que cela nécessite simplement une mise à jour 10.10.1 d'Apple.
Dustin Wheeler
Même problème ici. Journal de la console ci-dessous. Pas de vraies erreurs que je vois, mais cela a pris presque une minute complète pour se charger. 4/17/15 10: 31: 11.583 AM com.apple.xpc.launchd [1]: (com.apple.imfoundation.IMRemoteURLConnectionAgent) La clé _DirtyJetsamMemoryLimit n'est pas disponible sur cette plate-forme. 17/04/15 10: 31: 52.000 AM noyau [0]: AppleCamIn :: power_on_hardware 17/04/15 10: 31: 53.292 AM AppleCameraAssistant [373]: StartHardwareStream: création de récepteur de trame: 1280 x 720 (420v) [12.00 , 29,97] ips
Même problème ici. Je suis sur macOS 10.13.4 High Sierra.
neoneye

Réponses:

40

Jetsam est un système qui surveille l'utilisation de la mémoire sous OSX et iOS. Il conserve une liste des processus sur l'appareil, pour surveiller les situations où un appareil manque de RAM libre et rechercher des choses à tuer pour libérer de la RAM. Il surveille également les processus qui utilisent trop de RAM; franchir un niveau "high water mark".

Ce message d'erreur est dû au fait que le code est partagé entre OSX et iOS mais que la clé _DirtyJetsamMemoryLimit n'est disponible que sur iOS.

Vous pouvez en savoir plus sur Jetsam sur le lien suivant.

http://newosxbook.com/articles/MemoryPressure.html

Et si vous êtes vraiment intéressé, vous pouvez lire une partie du code Jetsam dans les deux fichiers suivants.

http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/kern/kern_memorystatus.c http://www.opensource.apple.com/source/xnu/xnu-1456.1.26 /bsd/sys/kern_memorystatus.h

Pour faire court, je ne pense pas que ce message d'erreur indique nécessairement un problème de performances. Le système de mémoire sur iOS est beaucoup plus strict car iOS n'a pas de choses comme les fichiers d'échange (aka mémoire virtuelle) qui permettent au système de dépasser la quantité physique de RAM. OSX a beaucoup plus de place pour jouer.

Tout le monde peut vérifier que cela n'a aucun impact sur les performances en utilisant Activity Monitor et en affichant tous les processus dans la vue CPU. Regardez la syslogdligne et assurez-vous que le temps CPU est raisonnable par rapport aux autres tâches que vous souhaitez effectuer avec votre Mac.

Alistair McMillan
la source
1
D'accord. Il n'y a donc aucun lien entre ce _DirtyJetsamMemoryLimit et les plantages répétitifs sur Yosemite?
@Domnuldid Aucune connexion. J'ai des Mac stables qui enregistrent ce message d'erreur tout le temps, donc rien n'indique clairement qu'ils sont tout sauf une coïncidence.
bmike
@bmike Sommes-nous sûrs que cela sysmonda quelque chose à voir avec Jetsam? J'avais l'impression que Jetsam est entièrement contenu dans le noyau, et sysmondest juste pour alimenter des choses comme Activity Monitor et top.
Alistair McMillan
@AlistairMcMillan Pardonnez mon erreur - syslogdest le démon associé qui afficherait un nombre d'E / S excessif en raison du traitement du fichier journal et du routage des messages du journal. Vous avez raisonsysmond
bmike
4
si le code est partagé entre iOS et OS X, Apple devrait filtrer les messages du journal de sortie ... n'affichant pas les messages liés à iOS sur l'ordinateur OS X ... le journal système est devenu aussi long que la Bible ...
erwin