9 votos

¿Qué tipo de "mensajes" ¿ el Monitor de Actividad de la pista con los "Mensajes Enviados" y "Mensajes Recibidos" columnas?

En el Monitor de Actividad en OS X, es posible agregar columnas adicionales en el proceso de la vista de lista. Dos columnas disponibles en la lista de "Mensajes Enviados" y "Mensajes Recibidos", que se muestran como "Enviado Mensajes" y "Mensajes Recibidos", respectivamente. Testigo:

Portion of Activity Monitor window showing "Sent Msgs" and "Rcvd Msgs" columns

¿Qué tipo de "mensajes" es un Monitor de Actividad, se está refiriendo?

Cuando vi "mensaje", pensé al principio de Objective-C, "mensajes", que son despachados con objc_msgSend(), pero no puedo ver cómo esto puede ser rastreado por el sistema operativo, ya que la mayoría de los mensajes serían internos para el proceso en sí. Un depurador puede realizar un seguimiento de aquellos tipos de mensajes cuando está conectado, pero no puedo ver el SO hace todo el tiempo — muy por encima de la cabeza.

Así que supongo que esos son los de mayor peso mensajes. Son una forma de RPC entre los procesos? O, son los mensajes de llamadas de usuario de la tierra en el kernel? La búsqueda definitiva de referencias. Gracias.

7voto

Oskar Puntos 1242

Los números coinciden con el Mach mensajes en/fuera de cuenta, por lo que parece ser correcto en no interpretar como la objc_msgSend cuenta.

Usted puede aprender más acerca de más alto nivel de recuento de mensajes por un pelotón de Instrumentos (parte de la descargables gratuitamente conjunto de herramientas de Xcode) y la perforación de una aplicación específica para ver qué mensajes se envían y cuando.

Xcode Instruments screen shot

Puede filtrar todas las asignaciones, así como las asignaciones relativas a ObjC y usted puede cavar en mucho menor nivel de detalles que sólo envío de mensajes de cuenta. Canónica de la documentación que forma parte de Xcode le ayudará a dar sentido a estas estadísticas y cómo se relacionan con el Monitor de Actividad.

Específicamente, la búsqueda de NSObjCMessageLoggingEnabled y objc_msgSend en el Mac OS X de Depuración de la Magia de la Guía de Herramientas de la parte de la Documentación de Referencia para llegar a la objC cuenta.

Búsqueda de mach message en Xcode y buscar la CIP/Colas de Mensajes de la sección del Núcleo Guía de Programación de mach mensaje de detalles de la cola y lo hace de ellos. Ellos son mucho más bajos que el nivel de IPC núcleo de tráfico como te habrás imaginado.

Usted probablemente puede encontrar en developer.apple.com como bien, pero tener la documentación local desde dentro de Xcode tiene muchas ventajas.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X