Processer som inte mäts
Andra namn: varför listan inte summerar till totalen
Kort svar
Processerna i ett övervakningsverktyg blir sällan lika med totalen i dess graf. I Aktivitetskontroll beror det på att varje kärna räknas till 100 % och att arbete mellan två mätningar missas. I andra verktyg beror det också på att macOS bara låter en app mäta de processer som hör till din användare, så systemprocesser som WindowServer och kernel_task förblir tomma om inte ett hjälpprogram läser av dem.
Det är två olika saker som pågår, och det hjälper att hålla isär dem. Den första är aritmetik: kolumnen % processor i Aktivitetskontroll är en andel av en kärna, så på en Mac med 8 kärnor kan kolumnen bli upp till 800 % medan grafen längst ned visar en procentsats av hela datorn. Dela med antalet kärnor så stämmer de två, bortsett från de processer som startade och avslutades mellan mätningarna.
Den andra är behörighet. macOS svarar på detaljerade frågor om en process, som dess processortid, minne och skiv- och nätverkstrafik, bara för den användare som äger processen eller för root. Aktivitetskontroll är Apples och läser via en systemtjänst som ser allt. Ett övervakningsverktyg från en annan utvecklare körs som du, så processerna som ägs av root eller av systemkonton, vilket är det mesta som ligger högst upp i listan, rapporterar ingenting, och apparnas total blir lägre än datorns total.
Så får du siffrorna i Aktivitetskontroll att stämma
Sortera fliken Processor efter % processor och lägg ihop de översta raderna: på en upptagen Mac passerar de snabbt 100 %. Läs sedan siffrorna System och Användare under listan, som är andelar av hela datorn. Kolumnen är per kärna och sammanfattningen är per dator, och förhållandet mellan dem är ditt antal kärnor.
Resten av skillnaden handlar om tidpunkter. Aktivitetskontroll mäter var femte sekund som standard (Innehåll → Uppdateringsfrekvens). En process som körs en sekund och avslutas, som ett skalkommando, en Spotlight-arbetare eller en hjälpprocess som en app startade och stängde, bidrar till totalen men syns aldrig i listan.
Vad ett hjälpprogram gör, och varför vissa övervakningsverktyg ber om ett
För att mäta processer som det inte äger behöver ett övervakningsverktyg ett litet privilegierat hjälpprogram som macOS installerar med ditt lösenord och som svarar på en enda fråga: hur mycket använder de här processerna? Hjälpprogrammet körs som root, och därför håller en omsorgsfull app det valfritt och litet och säger exakt vad det läser.
Utan ett hjälpprogram är det ärliga för ett övervakningsverktyg att säga det: visa systemprocesserna som det inte kan mäta som tomma, räkna dem och ange att listan summerar till mindre än totalen. Ett verktyg som visar ett värde för kernel_task utan ett hjälpprogram gissar bara.
Frågor som folk ställer
Varför blir % processor mer än 100 % i Aktivitetskontroll?
För att varje kärna räknas till 100 %. En Mac med 8 kärnor kan visa 800 % fördelat på sina processer. Siffrorna System, Användare och Overksam under listan är andelar av hela datorn, så de blir alltid 100 % tillsammans.
Varför visar vissa processer ingen processor- eller minnesanvändning i ett övervakningsverktyg från en annan utvecklare?
macOS låter en app läsa detaljerade värden bara för processer som ägs av samma användare. WindowServer, kernel_task, mds_stores och andra systemprocesser tillhör root eller systemkonton, så de förblir tomma om inte verktyget har ett hjälpprogram som macOS låter läsa dem.
Är ett privilegierat hjälpprogram säkert?
Det är ett program som körs som root, så förtroende spelar roll. Ett hjälpprogram som sköter sig är litet, gör inget annat än att läsa processvärden, installeras bara när du slår på det och kan tas bort från samma ställe. Läs vad appen säger att den gör innan du aktiverar den.
Relaterat
Letar du efter något bättre än Aktivitetskontroll? Läs om de bästa alternativen till Aktivitetskontroll för Mac, eller bläddra bland alla begrepp i ordlistan.