Woordenlijst/CPU, GPU en energie
Niet-gemeten processen
Ook: waarom de lijst niet optelt tot het totaal
Kort antwoord
De processen in een systeemmonitor tellen zelden op tot het totaal in de grafiek. In Activiteitenweergave komt dat doordat elke core tot 100% telt en werk tussen twee metingen wordt gemist. In andere monitors komt het ook doordat macOS een app alleen de processen laat meten die bij jouw gebruiker horen, zodat systeemprocessen zoals WindowServer en kernel_task leeg blijven, tenzij een helper ze uitleest.
Er spelen twee verschillende dingen, en het helpt om ze uit elkaar te houden. Het eerste is rekenwerk: de kolom % CPU in Activiteitenweergave is een deel van één core, dus op een Mac met 8 cores kan de kolom optellen tot 800%, terwijl de grafiek onderaan een percentage van de hele machine toont. Deel door het aantal cores en de twee komen overeen, op de processen na die tussen twee metingen begonnen en eindigden.
Het tweede is toestemming. macOS beantwoordt gedetailleerde vragen over een proces, zijn CPU-tijd, zijn geheugen, zijn schijf- en netwerkverkeer, alleen voor de gebruiker die het bezit of voor root. Activiteitenweergave is van Apple en leest via een systeemdienst die alles ziet. Een monitor van een andere ontwikkelaar draait als jou, dus de processen van root of van systeemaccounts, en dat is het meeste wat bovenaan de lijst staat, melden niets, en het totaal van de apps blijft achter bij het totaal van de Mac.
Zo laat je de getallen in Activiteitenweergave kloppen
Sorteer het tabblad CPU op % CPU en tel de bovenste regels op: op een drukke Mac kom je snel boven de 100%. Lees nu de cijfers Systeem en Gebruiker onder de lijst, die delen van de hele Mac zijn. De kolom is per core en de samenvatting per Mac, en de verhouding daartussen is je aantal cores.
De rest van het verschil is timing. Activiteitenweergave meet standaard elke vijf seconden (Weergave → Bijwerkfrequentie). Een proces dat een seconde draait en dan stopt, zoals een shellopdracht, een Spotlight-werker of een helper die een app startte en weer sloot, draagt bij aan het totaal maar verschijnt nooit in de lijst.
Wat een helper doet, en waarom sommige monitors erom vragen
Om processen te meten die niet van hem zijn, heeft een monitor een kleine helper met extra rechten nodig die macOS met je wachtwoord installeert, en die één vraag beantwoordt: hoeveel gebruiken deze processen? De helper draait als root, en daarom houdt een zorgvuldige app hem optioneel en klein, en zegt precies wat hij leest.
Zonder helper is het eerlijk dat een monitor dat ook zegt: toon de systeemprocessen die hij niet kan meten als leeg, tel ze, en vermeld dat de lijst tot minder optelt dan het totaal. Een monitor die zonder helper een getal voor kernel_task toont, schat.
Vragen die mensen stellen
Waarom telt % CPU in Activiteitenweergave op tot meer dan 100%?
Omdat elke core tot 100% telt. Een Mac met 8 cores kan over al zijn processen 800% tonen. De cijfers Systeem, Gebruiker en Inactief onder de lijst zijn delen van de hele Mac, dus die komen altijd samen op 100%.
Waarom tonen sommige processen geen CPU of geheugen in een monitor van een andere ontwikkelaar?
macOS laat een app alleen gedetailleerde cijfers lezen van processen van dezelfde gebruiker. WindowServer, kernel_task, mds_stores en andere systeemprocessen zijn van root of van systeemaccounts, dus ze blijven leeg, tenzij de monitor een helper heeft die ze van macOS mag lezen.
Is een helper met extra rechten veilig?
Het is een programma dat als root draait, dus vertrouwen is belangrijk. Een helper die zich netjes gedraagt, is klein, doet niets anders dan procescijfers lezen, wordt alleen geïnstalleerd als jij hem aanzet en kan op dezelfde plek weer worden verwijderd. Lees wat de app zegt dat hij doet voordat je hem aanzet.
Gerelateerd
Op zoek naar iets beters dan Activiteitenweergave? Bekijk de beste alternatieven voor Activiteitenweergave op de Mac, of blader door alle begrippen in de woordenlijst.