Så fungerar Hedroom, steg för steg
Hedroom läser några tal från macOS, märker när en app gått fel, föreslår en åtgärd och mäter vad som hände efter att du godkänt den. Här är varje steg, med de tröskelvärden det använder.
Talen på den här sidan kommer från Hedrooms egna designdokument och kod. Där ett tal är en mätning står det när och på vilken Mac. Hedroom är inte släppt än, så inget av detta beskriver en offentlig version.
De fem stegen
- ProvtaEn provtagare läser minne, CPU, energi, temperatur och lagring.
- UpptäckJämför med vad som är normalt för din Mac. Peka ut den enda app som spelar roll.
- BeslutaVälj ett förslag. En säkerhetsgrind kan neka det.
- Agera, med samtyckeInget händer förrän du säger det, eller en regel du slagit på gör det.
- KvittoMätningar före, mätningar efter, ett ärligt utlåtande.
1. Provta: vad det läser och hur ofta
Alla avläsningar kommer från en provtagare som körs utanför huvudtråden, så att appen förblir responsiv. Varje källa är en separat kodbit bakom ett gränssnitt, vilket också är hur den testas med låtsasdata. Det här är källorna:
| Avläsning | Vad den används till | När |
|---|---|---|
| Nivå på minnestryck | macOS egen bedömning av hur svårt det har att hitta utrymme. Den viktigaste minnessignalen. | Varje tick, och direkt när macOS rapporterar en ändring. |
| Minnesfördelning och swapaktivitet | Appar, wired, komprimerat och cachat minne, och hur snabbt swap växer. | Varje tick. |
| Minne, CPU-tid och energi per app | Varje process fotavtryck (siffran Aktivitetskontroll visar som "Minne"), grupperat så att en app och dess hjälpare räknas som en. | Varje tick medan ett fönster är öppet, var 2:a tick i bakgrunden på nätström, var 3:e på batteri, var 4:e i Strömsparläge. |
| CPU-belastning per kärna | Upptagna appar och fördelningen mellan prestandakärnor och effektivitetskärnor. | Varje tick. |
| Chipeffekt | Watt för CPU, GPU, Neural Engine och minne, där Macen rapporterar dem. Använder ett macOS-gränssnitt som Apple inte dokumenterar, så Hedroom säger "inte tillgänglig" i stället för att gissa när det misslyckas. | Fönster på minst 3,5 sekunder. |
| Termiskt tillstånd och batteri | Om macOS stryper, batterycykler och kapacitet, återstående tid. | Varje tick. |
| Ledig lagring | Tillgängligt utrymme på startvolymen. | Var 30:e sekund med ett fönster öppet, var 5:e minut utan. |
| WindowServers CPU | Bara för CPU-skärmen och Skärmrådgivaren. | Bara medan en av de skärmarna är öppen. |
| Ljud, mikrofon och kamera som används | Säkerhetskontroller: Hedroom rör inte en app som är i samtal. | När en åtgärd övervägs. |
Tick
En "tick" är en omgång avläsningar. Hur ofta den sker beror på vad du gör:
| Situation | Tick |
|---|---|
| Ett Hedroom-fönster eller menyradspanelen är öppen | 2 s |
| I bakgrunden, på nätström | 5 s |
| I bakgrunden, på batteri | 10 s |
| Strömsparläge är på | 15 s |
| Minnestrycket är Varning eller Kritiskt | 2 s, tvingad |
| Du har pausat övervakningen | Stoppad |
Inställningar har ett val "Kontrollera min Mac var" på 2, 5 eller 10 sekunder för takten med öppet fönster; bakgrundstakterna skalas från den. Rå avläsningar sparas i 48 timmar. Allt stannar på din Mac, i en databasfil i din mapp Bibliotek. Se Integritet.
2. Upptäck: vad som räknas som ett fynd
Hedroom slår inte larm för att ett tal är stort. Det jämför varje app med hur stor den appen vanligtvis är på din Mac och väntar för att se om ändringen håller i sig.
Minne: Bra, Ansträngt, Kritiskt
Hedroom visar ett av tre tillstånd. Tröskelvärdena är nedskrivna och testade.
| Tillstånd | Börjar när | Slutar när |
|---|---|---|
| Ansträngt | macOS rapporterar tryckläget Varning, eller swap växer med 20 MB per minut eller mer i 2 minuter medan komprimerat minne är minst 20 % av RAM. | Nivån är Normal och swaptillväxten är under 5 MB per minut i 3 minuter. |
| Kritiskt | macOS rapporterar nivån Kritiskt, eller swap växer med 200 MB per minut eller mer i 60 sekunder, eller ledigt plus cachat minne är under 3 % av RAM i 60 sekunder. | Inget av de villkoren i 2 minuter. Det sjunker då till Ansträngt. |
Swap som bara används gör aldrig Macen ansträngd, eftersom macOS behåller gammal swap. Bara swap som växer räknas. Högt "använt" minne med bra tryck är Bra. Varför tryck och inte använt RAM förklarar skillnaden.
En läcka: en app långt över sin vanliga storlek, en stund
För varje app lär sig Hedroom en vanlig storlek från dina senaste 7 dagar av normal användning. Det flaggar en läcka bara när allt detta gäller:
- Appen är minst 3 gånger sin vanliga storlek. Vid 2,5 gånger visas den som "växande" och inget mer.
- Den är minst 1 GB, eller 6 % av ditt RAM om det är större.
- Den har legat där i 20 minuter i följd, eller fortsätter växa på en 30-minuterstrend.
- Den finns inte på din lista Rör aldrig, är inte gjord av Apple (med ett litet undantag för Apple-appar du själv använder) och är inte en app som processbiblioteket markerar som normalt stor, som en videoredigerare eller Docker.
Tills Hedroom har lärt sig en app i ungefär 6 timmar säger det att det fortfarande lär sig. För en app det känner till vid namn används den typiska storleken från processbiblioteket; för en okänd app flaggas bara en storlek på minst 15 % av ditt RAM som fortfarande växer, och det säger "ovanligt stor" i stället för en kvot.
Skenande CPU
En bakgrundsapp (inte den du använder) som i snitt använder 80 % av en kärna eller mer i 3 minuter, och minst 3 gånger sin egen vanliga bakgrunds-CPU, är skenande, om inte biblioteket markerar den som normalt upptagen (kompilatorer, säkerhetskopiering, videokodare, indexering) eller den är i samtal. Den visas under Idag efter 3 minuter. En avisering väntar tills det pågått i 10 minuter.
Brusstyrning
Samma fynd om samma app aviserar högst en gång var 6:e timme. Icke brådskande aviseringar slutar vid 3 per dag. Avfärda en tre gånger för en app, så slutar Hedroom avisera om den och erbjuder en post på Rör aldrig.
3. Besluta: ett förslag, sedan säkerhetsgrinden
När Hedroom kan göra mer än en sak rangordnar det dem efter hur mycket de skulle ge tillbaka mot hur riskabla de är, och visar de två främsta. Ett tvångsavslut erbjuds aldrig som en rangordnad åtgärd.
Före varje omstart, avslut, paus eller flytt till effektivitetskärnor går begäran genom en säkerhetsgrind. Grinden nekar när målet är:
- Hedroom självt (ignoreras i det tysta).
- Gjord av Apple eller i en systemmapp, förutom de Apple-appar du själv använder, som du kan starta om eller avsluta med ett klick.
- På din lista Rör aldrig.
- Appen du använder just nu, när en regel ber om paus, flytt eller avslut.
- En app som spelar ljud, använder mikrofonen, eller en samtalsapp medan en kamera är på.
- En säkerhetskopieringsapp medan en säkerhetskopiering pågår.
- En app som inte är känd för att tåla paus, när en regel vill pausa eller avsluta den och du inte valde appen själv. Hedroom kan inte på ett pålitligt sätt se osparat arbete.
- En app som biblioteket markerar som osäker att starta om, under kritiskt tryck.
- Ett tvångsavslut utan en andra, separat bekräftelse.
Om Hedroom inte kan kontrollera något av detta (till exempel att ljudkontrollen misslyckas) gör regler ingenting och ett klick frågar dig först. Ett nekande visas med sin orsak, som en mening som "Slack är i samtal.", inte som ett fel. Allt som nekas eller görs loggas. Mer i Vad Hedroom aldrig gör.
4. Agera, med samtycke
Åtgärderna är små och går att ångra:
- Omstart ber appen avsluta, som ⌘Q, väntar och öppnar den igen.
- Effektivitetskärnor sänker en apps prioritet så att dess arbete körs på effektivitetskärnorna.
- Paus fryser en app tills du byter tillbaka till den, eller i högst 60 minuter. En liten skyddsprocess återupptar den även om Hedroom kraschar.
Ett klick på en knapp är samtycke till den åtgärden. En regel är samtycke du gav i förväg, och varje mall levereras avstängd. Ett avslut eller en omstart av en app som inte är känd för att vara säker frågar alltid först. Inget raderas någonsin utan ditt tillstånd varje gång; rensning flyttar filer till papperskorgen. Åtgärder och Regler listar varje gräns.
5. Kvitto: före, efter och ett ärligt utlåtande
Varje åtgärd ger ett kvitto. Hedroom jämför mätningarna från de 5 minuterna före åtgärden med mätningarna 5 till 15 minuter efter, och hoppar över de första 30 sekunderna (60 sekunder efter en omstart) medan allt lugnar sig.
Det finns fyra ärliga utfall:
- Uppmätt. Ändringen är minst det minsta Hedroom räknar: 100 MB minne, 10 procentenheter av en CPU-kärna, 0,3 W eller 50 MB disk.
- Ingen effekt. Ändringen var mindre än så, eller åt fel håll. Kvittot säger "Ingen mätbar effekt." och tar ingen ära.
- Går inte att mäta. Andra appar ändrades för mycket samtidigt (en annan app rörde sig mer än 1 GB, en ny app startade med över 500 MB, du avslutade andra appar, Macen sov eller strömmen kopplades in eller ur). Kvittot säger det i stället för att ta åt sig äran, och lämnas utanför totalerna.
- Avbruten. Du ångrade åtgärden, eller Hedroom avslutades, innan mätningen var klar. Inget påstås.
Varje kvitto har också en säkerhetsnivå (hög, medel eller låg). Ett kvitto med låg säkerhet märks "grovt" och räknas inte med i totalerna. Ett kvitto jämför två tidsfönster; det är inte en kontrollerad studie. För att läsa ett, se Läsa ett kvitto.
Varför minnestryck, inte använt RAM
En Mac som varit på ett tag visar det mesta av sitt minne som använt, med avsikt. macOS fyller ledigt minne med cachade filer, eftersom det gör nästa sak du öppnar snabbare, och lämnar tillbaka det i samma stund en app behöver det. En full minnesstapel är inget problem. Det som spelar roll är om macOS har svårt att hitta utrymme: det är minnestryck, tillsammans med hur snabbt swap växer. Därför har Hedroom ingen knapp som "tömmer" minne. Det tvingar macOS att kasta den användbara cachen. Guiden om tryck och använt RAM visar hur du kontrollerar detta själv i Aktivitetskontroll.
Vad som gör det billigt
Hedrooms budget är under 0,5 % av en CPU-kärna i snitt och under 80 MB minne. Vad som har mätts hittills:
| Mätning | Resultat | Datum |
|---|---|---|
| CPU, inget fönster öppet, tick på 5 s | 0,27 % av en kärna (138 intervall inom en körning på 30 minuter). Testgräns: under 0,3 %. | 2026-10-13 |
| Minne, inget fönster öppet | Median 29,2 MB, högsta 31,7 MB. Gräns: under 80 MB. | 2026-10-13 |
| Uppvaknanden, inget fönster öppet | 0,45 per sekund i snitt. Gräns: under 5. | 2026-10-13 |
| Skärmen Idag öppen, stabil | 0,5 % av en kärna, fotavtryck 71 MB (390 sekunder, fönstret verifierat synligt). Den här körningen var partiell. | 2026-10-15 |
Läs dessa som uppmätta, inte utlovade. Det är en Mac, och delar av körningarna gick med den snabbare tick på 2 sekunder eftersom den Macen var under minnestryck. Den första körningen efter installation gör en lagringsgenomsökning som tar några minuter med upp till en kärna, på låg prioritet. Andra flikar än Idag mättes inte alla om. Före de korrigeringar som finns i samma anteckningar kostade ett öppet fönster 20 till 40 % av en kärna; det hittades genom dessa tester och åtgärdades. Rådata och hela rapporten finns i mappen bench/results i repositoriet, och Inställningar visar Hedrooms egen uppmätta kostnad på din Mac. Släppgrinden är benchmarken och en belastningskörning på den signerade versionen, vilket ännu inte har skett.
Vad som håller det lätt: en provtagare för allt, en långsammare tick när inget händer, skanningar per app bara var några ticks i bakgrunden, fönsterinnehåll som bara byggs medan ett fönster är på skärmen och animationer som stannar när fönstret är dolt.
Vad det vägrar röra
- macOS självt: allt som är signerat av Apple eller ligger i en systemmapp. Hedroom förklarar de här processerna, som
kernel_taskochWindowServer, och pausar, bromsar eller avslutar dem aldrig. Se kernel_task, WindowServer och andra processer förklarade. - Appen framför dig, appar i samtal, appar som spelar ljud eller använder mikrofonen eller kameran, säkerhetskopieringsappar under en säkerhetskopiering.
- Appar på din lista Rör aldrig.
- Dina filer, om du inte bekräftar varje radering själv. Rensning går först till papperskorgen.
Hela listan, med tester bakom varje rad, finns på Vad Hedroom aldrig gör. Härnäst: varje funktion och dess gränser, hur Hedroom jämför och ordlistan.