Strano messaggio nella console sulla chiave _DirtyJetsamMemoryLimit


36

Questo messaggio viene sempre visualizzato nel registro della console a intervalli regolari.

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

Qualcuno può spiegare perché viene visualizzato e se ha qualche impatto sulle prestazioni del sistema, nonché su come sbarazzarsene?


1
Ho lo stesso messaggio su due macchine Yosemite (una un aggiornamento da Mavericks, l'altra un'installazione pulita). Ore di ricerche su Internet mi hanno lasciato a mani vuote ... tutti i risultati si riferivano alla programmazione iOS (quindi forse è un problema con una base di codice condivisa?). Forse richiede solo un aggiornamento 10.10.1 da Apple.
Dustin Wheeler,

Lo stesso problema qui. Registro della console di seguito. Nessun vero errore che vedo, ma ci è voluto quasi un minuto intero per caricare. 17/04/15 10: 31: 11.583 AM com.apple.xpc.launchd [1]: (com.apple.imfoundation.IMRemoteURLConnectionAgent) La chiave _DirtyJetsamMemoryLimit non è disponibile su questa piattaforma. 17/04/15 10: 31: 52.000 AM kernel [0]: AppleCamIn :: power_on_hardware 17/17/15 10: 31: 53.292 AM AppleCameraAssistant [373]: StartHardwareStream: creazione del frame frame: 1280 x 720 (420v) [12.00 , 29.97] fps

Lo stesso problema qui. Sono su macOS 10.13.4 High Sierra.
neoneye,

Risposte:


40

Jetsam è un sistema che monitora l'utilizzo della memoria in OSX e iOS. Mantiene un elenco di processi sul dispositivo, per monitorare le situazioni in cui un dispositivo sta esaurendo la RAM libera e cerca cose da uccidere per liberare la RAM. Controlla anche i processi che utilizzano troppa RAM; infrangere un livello "high water mark".

Questo messaggio di errore è dovuto al fatto che il codice è condiviso tra OSX e iOS ma la chiave _DirtyJetsamMemoryLimit è disponibile solo su iOS.

Puoi leggere di più su Jetsam al seguente link.

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

E se sei veramente interessato puoi leggere parte del codice Jetsam nei seguenti due file.

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

Per farla breve, non penso che questo messaggio di errore indichi necessariamente un problema di prestazioni. Il sistema di memoria su iOS è molto più rigoroso perché iOS non ha cose come i file di scambio (ovvero la memoria virtuale) che consentono al sistema di superare la quantità fisica di RAM. OSX ha molto più spazio per giocare.

Chiunque può verificare che non abbia alcun impatto sulle prestazioni utilizzando Activity Monitor e mostrando tutti i processi nella vista CPU. Guarda la syslogdlinea e assicurati che il tempo della CPU sia ragionevole rispetto ad altre attività che desideri eseguire con il tuo Mac.


1
Ok. Quindi non esiste alcuna connessione tra questo _DirtyJetsamMemoryLimit e gli arresti ripetitivi su Yosemite?

@Domnuldid Nessuna connessione. Ho Mac stabili che registrano continuamente questo messaggio di errore, quindi non c'è alcuna chiara indicazione che siano tutt'altro che casuali.
bmike

@bmike Siamo sicuri che sysmondabbia qualcosa a che fare con Jetsam? Avevo l'impressione che Jetsam fosse interamente contenuto nel kernel ed sysmondè solo per alimentare cose come Activity Monitor e top.
Alistair McMillan,

@AlistairMcMillan Perdona il mio errore - syslogdè il demone correlato che mostra un IO / CPU eccessivo a causa dell'elaborazione del file di registro e del routing dei messaggi di registro. Hai ragione circasysmond
bmike

4
se il codice è condiviso tra iOS e OS X, Apple des dovrebbe filtrare i messaggi del registro di output ... non visualizzare i messaggi relativi a iOS sul computer OS X ... il registro di sistema è diventato lungo quanto la Bibbia ...
erwin
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.