Mensaje extraño en la consola sobre la clave _DirtyJetsamMemoryLimit

31

Este mensaje siempre se muestra en el registro de la consola a intervalos regulares.

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

¿Alguien puede explicar por qué se muestra y si tiene algún impacto en el rendimiento del sistema y cómo deshacerse de él?

erwin
fuente
1
Tengo el mismo mensaje en dos máquinas de Yosemite (una actualización de Mavericks y la otra una instalación limpia). Las horas de búsqueda en Internet me han dejado con las manos vacías ... todos los resultados se refieren a la programación de iOS (¿quizás sea un problema con una base de código compartida?). Quizás solo requiera una actualización 10.10.1 de Apple.
Dustin Wheeler
El mismo problema aquí. Registro de la consola a continuación. No hay errores reales que vea, pero tardó casi un minuto en cargarse. 17/04/15 10: 31: 11.583 AM com.apple.xpc.launchd [1]: (com.apple.imfoundation.IMRemoteURLConnectionAgent) La clave _DirtyJetsamMemoryLimit no está disponible en esta plataforma. 17/04/15 10: 31: 52.000 AM kernel [0]: AppleCamIn :: power_on_hardware 4/17/15 10: 31: 53.292 AM AppleCameraAssistant [373]: StartHardwareStream: creando un receptor de cuadros: 1280 x 720 (420v) [12.00 , 29.97] fps
El mismo problema aquí. Estoy en macOS 10.13.4 High Sierra.
neoneye

Respuestas:

37

Jetsam es un sistema que supervisa el uso de la memoria en OSX e iOS. Mantiene una lista de procesos en el dispositivo, para monitorear situaciones en las que un dispositivo se está quedando sin memoria RAM libre y buscar cosas que matar para liberar RAM. También vigila los procesos que utilizan demasiada RAM; rompiendo un nivel de "marca de agua alta".

Este mensaje de error se debe a que el código se comparte entre OSX y iOS pero la clave _DirtyJetsamMemoryLimit solo está disponible en iOS.

Puedes leer más sobre Jetsam en el siguiente enlace.

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

Y si está realmente interesado, puede leer algunos de los códigos de Jetsam en los siguientes dos archivos.

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

En pocas palabras, no creo que este mensaje de error indique necesariamente un problema de rendimiento. El sistema de memoria en iOS es mucho más estricto porque iOS no tiene elementos como archivos de intercambio (también conocido como memoria virtual) que permiten que el sistema supere la cantidad física de RAM. OSX tiene mucho más espacio para jugar.

Cualquiera puede verificar que no tiene ningún impacto en el rendimiento utilizando el Monitor de actividad y mostrando todos los procesos en la vista de la CPU. Mira el syslogd y asegúrese de que el tiempo de CPU sea razonable en comparación con otras tareas que desea realizar con su Mac.

Alistair McMillan
fuente
1
De acuerdo. ¿Entonces no hay conexión entre este _DirtyJetsamMemoryLimit y los bloqueos repetitivos en Yosemite?
@Domnuldid No hay conexión. Tengo Macs estables que registran este mensaje de error todo el tiempo, así que no hay una clara indicación de que no sean más que una coincidencia.
bmike
@bmike estamos seguros de que sysmond ¿Tiene algo que ver con Jetsam? Tenía la impresión de que Jetsam está completamente contenido dentro del núcleo, y sysmond es sólo para alimentar cosas como Activity Monitor y top.
Alistair McMillan
@AlistairMcMillan Perdona mi error - syslogd es el daemon relacionado que mostraría un exceso de IO / CPU debido al procesamiento del archivo de registro y al enrutamiento de mensajes de registro. Usted tiene razón acerca de sysmond
bmike
3
Si el código se comparte entre iOS y OS X, entonces Apple des debería filtrar los mensajes de registro de salida ... no mostrar mensajes relacionados con iOS en la computadora OS X ... el registro del sistema es válido siempre y cuando la Biblia ...
erwin