Processi non misurati
Anche: perché l’elenco non corrisponde al totale
In breve
Sommando i processi elencati da un monitor di sistema, raramente si ottiene il totale del suo grafico. In Monitoraggio Attività è perché ogni core conta fino al 100% e il lavoro tra due campionamenti va perso. Negli altri monitor è anche perché macOS permette a un’app di misurare solo i processi che appartengono al tuo utente, quindi i processi di sistema come WindowServer e kernel_task restano vuoti, a meno che non li legga un helper.
Succedono due cose diverse, e conviene tenerle separate. La prima è aritmetica: la colonna % CPU di Monitoraggio Attività è una quota di un solo core, quindi su un Mac con 8 core la colonna può arrivare in totale all’800% mentre il grafico in basso mostra una percentuale dell’intera macchina. Dividi per il numero di core e i due valori coincidono, a parte i processi partiti e finiti tra un campionamento e l’altro.
La seconda è una questione di permessi. macOS risponde a domande dettagliate su un processo, il suo tempo di CPU, la sua memoria, il suo traffico su disco e in rete, solo all’utente che lo possiede o a root. Monitoraggio Attività è di Apple e legge tramite un servizio di sistema che vede tutto. Un monitor di terze parti gira con il tuo utente, quindi i processi di root o degli account di sistema, cioè quasi tutto quello che sta in cima all’elenco, non riportano niente, e il totale delle app resta sotto il totale del Mac.
Far tornare i conti di Monitoraggio Attività
Ordina il pannello CPU per % CPU e somma le prime righe: su un Mac impegnato superano presto il 100%. Ora leggi i valori Sistema e Utente sotto l’elenco, che sono quote dell’intero Mac. La colonna è per core e il riepilogo è per Mac, e il rapporto tra i due è il numero dei tuoi core.
Il resto della differenza è una questione di tempi. Monitoraggio Attività campiona ogni cinque secondi di default (Vista → Frequenza di aggiornamento). Un processo che gira per un secondo e poi esce, un comando della shell, un worker di Spotlight, un helper che un’app ha avviato e chiuso, contribuisce al totale ma non compare mai nell’elenco.
Cosa fa un helper, e perché alcuni monitor ne chiedono uno
Per misurare processi che non gli appartengono, un monitor ha bisogno di un piccolo helper privilegiato che macOS installa con la tua password e che risponde a una sola domanda: quanto stanno usando questi processi? L’helper gira come root, ed è per questo che un’app attenta lo rende facoltativo, lo tiene piccolo e dice esattamente cosa legge.
Senza un helper, la cosa onesta per un monitor è dirlo: mostrare vuoti i processi di sistema che non può misurare, contarli e segnalare che l’elenco somma meno del totale. Un monitor che mostra un numero per kernel_task senza un helper sta facendo una stima.
Domande frequenti
Perché in Monitoraggio Attività la % CPU somma più del 100%?
Perché ogni core conta fino al 100%. Un Mac con 8 core può mostrare l’800% sommando i suoi processi. I valori Sistema, Utente e Inattiva sotto l’elenco sono quote dell’intero Mac, quindi sommano sempre 100%.
Perché in un monitor di terze parti alcuni processi non mostrano CPU o memoria?
macOS permette a un’app di leggere valori dettagliati solo per i processi dello stesso utente. WindowServer, kernel_task, mds_stores e gli altri processi di sistema appartengono a root o ad account di sistema, quindi restano vuoti a meno che il monitor non abbia un helper a cui macOS permette di leggerli.
Un helper privilegiato è sicuro?
È un programma che gira come root, quindi la fiducia conta. Un helper fatto bene è piccolo, non fa altro che leggere i valori dei processi, si installa solo quando lo attivi e si rimuove dallo stesso posto. Leggi cosa dice l’app su quello che fa prima di attivarlo.
Correlati
Cerchi qualcosa di meglio di Monitoraggio Attività? Leggi le migliori alternative a Monitoraggio Attività per Mac, oppure sfoglia tutti i termini del glossario.