Che tipo di "messaggi" traccia Monitoraggio attività con le colonne "Messaggi inviati" e "Messaggi ricevuti"?

9

In Activity Monitor su OS X, è possibile aggiungere ulteriori colonne alla vista elenco processi. Due colonne disponibili in tale elenco sono "Messaggi inviati" e "Messaggi ricevuti", che vengono visualizzati rispettivamente come "Messaggi inviati" e "Msg Rcvd". Testimone:

Porzione della finestra Monitoraggio attività che mostra

Che tipo di "messaggi" si riferisce a Monitoraggio attività?

Quando ho visto "messaggio", ho pensato dapprima ai "messaggi" Objective-C inviati con objc_msgSend() , ma non riesco a vedere come sarebbero tracciati dal sistema operativo poiché la maggior parte di quei messaggi sarebbe essere interno al processo stesso. Un debugger potrebbe tenere traccia di questi tipi di messaggi quando sono collegati, ma non riesco a vedere il sistema operativo farlo tutto il tempo - un sovraccarico molto alto.

Quindi immagino che quelli siano messaggi più pesanti. Sono una forma di RPC tra processi? Oppure, quei messaggi vengono chiamati da user-land nel kernel? Alla ricerca di riferimenti definitivi. Grazie.

    
posta Chris W. Rea 03.05.2013 - 22:30
fonte

1 risposta

7

Quei numeri corrispondono ai conteggi in / out dei messaggi Mach, quindi sembra che tu non abbia interpretato correttamente come conta objc_msgSend.

Puoi saperne di più sui conteggi dei messaggi di livello superiore accendendo gli strumenti (parte del file scaricabile gratuitamente Xcode toolset ) e scavare in un'applicazione specifica per vedere quali messaggi vengono inviati e quando.

PuòfiltraretutteleallocazionieleallocazionirelativeaObjCepuoiscavareindettaglidilivellopiùbassorispettoasoloconteggidiinviodimessaggi.LadocumentazionecanonicachefapartediXcodetiaiuteràadareunsensoaquestestatisticheeacomesiriferisconoaActivityMonitor.

Inparticolare,cercaNSObjCMessageLoggingEnabledeobjc_msgSendnellasezioneMacOSXDebuggingMagic-StrumentidelladocumentazionediriferimentoperottenereiconteggiobjC.

CercamachmessageinXcodeecercalasezioneIPC/MessageQueuesdi Guida alla programmazione del kernel per i dettagli della coda dei messaggi mach e cosa li rende disponibili. Si tratta di un traffico kernel IPC molto più basso, come hai ipotizzato.

Probabilmente lo puoi trovare anche su developer.apple.com, ma avere la documentazione locale da Xcode ha molti vantaggi.

    
risposta data 03.05.2013 - 22:43
fonte

Leggi altre domande sui tag