Hoe Hedroom werkt, stap voor stap
Hedroom leest een paar getallen uit macOS, merkt wanneer één app misgaat, stelt één oplossing voor en meet wat er gebeurde nadat je die accepteert. Hier is elke stap, met de drempels die het gebruikt.
De getallen op deze pagina komen uit de eigen ontwerpdocumenten en code van Hedroom. Waar een getal een meting is, staat wanneer en op welke Mac. Hedroom is nog niet uitgebracht, dus niets hiervan beschrijft een openbare versie.
De vijf stappen
- MetenEén sampler leest geheugen, CPU, energie, temperatuur en opslag.
- OpsporenVergelijk met wat normaal is voor je Mac. Noem de ene app die telt.
- BeslissenKies één suggestie. Een veiligheidspoort kan die weigeren.
- Handelen, met toestemmingEr gebeurt niets totdat jij het zegt, of een regel die je hebt aangezet.
- BonMetingen ervoor, metingen erna, één eerlijk oordeel.
1. Meten: wat het leest en hoe vaak
Alle metingen komen van één sampler die buiten de hoofdthread draait, zodat de app responsief blijft. Elke bron is een apart stuk code achter een interface, waarmee het ook met nepgegevens wordt getest. Dit zijn de bronnen:
| Meting | Waarvoor het wordt gebruikt | Wanneer |
|---|---|---|
| Niveau van geheugendruk | Het eigen oordeel van macOS over hoe moeilijk het is om ruimte te vinden. Het belangrijkste geheugensignaal. | Elke tick, en direct wanneer macOS een verandering meldt. |
| Geheugenverdeling en swapactiviteit | Apps, wired, gecomprimeerd en gecacht geheugen, en hoe snel swap groeit. | Elke tick. |
| Geheugen, CPU-tijd en energie per app | De voetafdruk van elk proces (het getal dat Activiteitenweergave als "Geheugen" toont), gegroepeerd zodat een app en zijn helpers als één tellen. | Elke tick terwijl een venster open is, elke 2e tick op de achtergrond op netstroom, elke 3e op batterij, elke 4e in de Energiezuinige modus. |
| CPU-belasting per kern | Drukke apps en de verdeling tussen prestatiekernen en efficiëntiekernen. | Elke tick. |
| Chipvermogen | Watt voor CPU, GPU, Neural Engine en geheugen, waar de Mac ze meldt. Gebruikt een macOS-interface die Apple niet documenteert, dus Hedroom zegt "niet beschikbaar" in plaats van te gokken wanneer het mislukt. | Vensters van minstens 3,5 seconden. |
| Thermische toestand en batterij | Of macOS afknijpt, batterijcycli en capaciteit, resterende tijd. | Elke tick. |
| Vrije opslag | Beschikbare ruimte op het opstartvolume. | Elke 30 seconden met een venster open, elke 5 minuten zonder. |
| CPU van WindowServer | Alleen voor het CPU-scherm en het Beeldschermadvies. | Alleen terwijl een van die schermen open is. |
| Geluid, microfoon en camera in gebruik | Veiligheidscontroles: Hedroom raakt een app die in gesprek is niet aan. | Wanneer een actie wordt overwogen. |
De tick
Een "tick" is één ronde metingen. Hoe vaak die plaatsvindt hangt af van wat je doet:
| Situatie | Tick |
|---|---|
| Een Hedroom-venster of het menubalkpaneel is open | 2 s |
| Op de achtergrond, op netstroom | 5 s |
| Op de achtergrond, op batterij | 10 s |
| Energiezuinige modus staat aan | 15 s |
| Geheugendruk is Waarschuwing of Kritiek | 2 s, geforceerd |
| Je hebt monitoring gepauzeerd | Gestopt |
Instellingen heeft de keuze "Controleer mijn Mac elke" van 2, 5 of 10 seconden voor de frequentie bij een open venster; de achtergrondfrequenties schalen daarvan af. Ruwe metingen worden 48 uur bewaard. Alles blijft op je Mac, in één databasebestand in je map Library. Zie Privacy.
2. Opsporen: wat telt als bevinding
Hedroom slaat geen alarm omdat een getal groot is. Het vergelijkt elke app met hoe groot die app gewoonlijk is op jouw Mac en wacht af of de verandering aanhoudt.
Geheugen: Gezond, Onder druk, Kritiek
Hedroom toont een van drie toestanden. De drempels zijn opgeschreven en getest.
| Toestand | Begint wanneer | Eindigt wanneer |
|---|---|---|
| Onder druk | macOS meldt drukniveau Waarschuwing, of swap groeit 2 minuten lang met 20 MB per minuut of meer terwijl gecomprimeerd geheugen minstens 20% van het RAM is. | Het niveau is Normaal en de swapgroei ligt 3 minuten onder 5 MB per minuut. |
| Kritiek | macOS meldt niveau Kritiek, of swap groeit 60 seconden lang met 200 MB per minuut of meer, of vrij plus gecacht geheugen ligt 60 seconden onder 3% van het RAM. | Geen van die voorwaarden gedurende 2 minuten. Daarna zakt het naar Onder druk. |
Swap die alleen gebruikt wordt, maakt de Mac nooit Onder druk, omdat macOS oude swap laat staan. Alleen swap die groeit telt. Veel "gebruikt" geheugen met gezonde druk is Gezond. Waarom druk en niet gebruikt RAM legt het verschil uit.
Een lek: een app ver boven zijn gebruikelijke grootte, een tijd lang
Voor elke app leert Hedroom een gebruikelijke grootte uit je laatste 7 dagen normaal gebruik. Het markeert pas een lek wanneer dit allemaal geldt:
- De app is minstens 3 keer zo groot als gebruikelijk. Bij 2,5 keer wordt hij als "groeiend" getoond en meer niet.
- Hij is minstens 1 GB, of 6% van je RAM als dat groter is.
- Hij is er 20 minuten achter elkaar gebleven, of blijft groeien op een trend van 30 minuten.
- Hij staat niet op je lijst Nooit aanraken, is niet van Apple (met een kleine uitzondering voor Apple-apps die je zelf gebruikt) en is geen app die de procesbibliotheek als normaal groot markeert, zoals een video-editor of Docker.
Totdat Hedroom een app ongeveer 6 uur heeft geleerd, zegt het dat het nog leert. Voor een app die het bij naam kent, gebruikt het de typische grootte uit de procesbibliotheek; voor een onbekende app markeert het alleen een grootte van minstens 15% van je RAM die nog groeit en zegt het "ongewoon groot" in plaats van een verhouding.
Op hol geslagen CPU
Een achtergrond-app (niet degene die je gebruikt) die 3 minuten gemiddeld 80% van één kern of meer gebruikt, en minstens 3 keer zijn eigen gebruikelijke achtergrond-CPU, is op hol geslagen, tenzij de bibliotheek hem als normaal druk markeert (compilers, back-ups, video-encoders, indexering) of hij in gesprek is. Het verschijnt na 3 minuten onder Vandaag. Een melding wacht tot het 10 minuten heeft geduurd.
Ruisbeheersing
Dezelfde bevinding over dezelfde app meldt hoogstens eens per 6 uur. Niet-urgente meldingen stoppen bij 3 per dag. Negeer er drie voor een app en Hedroom stopt met melden erover en biedt een invoer voor Nooit aanraken aan.
3. Beslissen: één suggestie, dan de veiligheidspoort
Als Hedroom meer dan één ding kan doen, rangschikt het ze naar hoeveel ze zouden teruggeven tegenover hoe riskant ze zijn en toont de beste twee. Geforceerd afsluiten wordt nooit als gerangschikte oplossing aangeboden.
Vóór elk opnieuw openen, afsluiten, pauzeren of verplaatsen naar efficiëntiekernen gaat het verzoek door één veiligheidspoort. De poort weigert wanneer het doelwit is:
- Hedroom zelf (stilzwijgend genegeerd).
- Door Apple gemaakt of in een systeemmap, behalve de Apple-apps die je zelf gebruikt en die je met een klik opnieuw kunt openen of afsluiten.
- Op je lijst Nooit aanraken.
- De app die je nu gebruikt, wanneer een regel om een pauze, verplaatsing of afsluiting vraagt.
- Een app die geluid afspeelt, de microfoon gebruikt, of een bel-app terwijl een camera aan staat.
- Een back-up-app terwijl een back-up loopt.
- Een app waarvan niet bekend is dat hij pauzeren aankan, wanneer een regel hem wil pauzeren of afsluiten en je de app niet zelf hebt gekozen. Hedroom kan niet betrouwbaar niet-bewaard werk zien.
- Een app die de bibliotheek als onveilig om opnieuw te openen markeert, tijdens kritieke druk.
- Een geforceerde afsluiting zonder tweede, aparte bevestiging.
Als Hedroom een van deze niet kan controleren (bijvoorbeeld de geluidscontrole mislukt), doen regels niets en vraagt een klik eerst om bevestiging. Een weigering wordt met reden getoond, als een zin zoals "Slack is in gesprek.", niet als fout. Alles wat geweigerd of gedaan is, wordt gelogd. Meer in Wat Hedroom nooit doet.
4. Handelen, met toestemming
De acties zijn klein en omkeerbaar:
- Opnieuw openen vraagt de app af te sluiten, zoals ⌘Q, wacht en opent hem opnieuw.
- Efficiëntiekernen verlaagt de prioriteit van een app zodat zijn werk op de efficiëntiekernen draait.
- Pauzeren bevriest een app tot je ernaar terugschakelt, of maximaal 60 minuten. Een klein bewakingsproces hervat hem ook als Hedroom crasht.
Een klik op een knop is toestemming voor die actie. Een regel is toestemming die je vooraf hebt gegeven, en elk sjabloon wordt uitgezet geleverd. Een afsluiting of heropening van een app waarvan niet bekend is dat hij veilig is, vraagt altijd eerst. Er wordt nooit iets verwijderd zonder jouw toestemming, elke keer; opruimen verplaatst bestanden naar de prullenmand. Oplossingen en Regels noemen elke grens.
5. Bon: voor, na en een eerlijk oordeel
Elke actie levert één bon op. Hedroom vergelijkt de metingen van de 5 minuten vóór de actie met die van 5 tot 15 minuten erna, waarbij de eerste 30 seconden (60 seconden na opnieuw openen) worden overgeslagen terwijl alles tot rust komt.
Er zijn vier eerlijke uitkomsten:
- Gemeten. De verandering is minstens het kleinste dat Hedroom meetelt: 100 MB geheugen, 10 procentpunten van één CPU-kern, 0,3 W of 50 MB schijf.
- Geen effect. De verandering was kleiner dan dat, of in de verkeerde richting. De bon zegt "Geen meetbaar effect." en neemt geen eer.
- Niet meetbaar. Andere apps veranderden tegelijk te veel (een andere app bewoog met meer dan 1 GB, een nieuwe app startte met meer dan 500 MB, je sloot andere apps af, de Mac sliep, of er werd stroom aan- of losgekoppeld). De bon zegt dat in plaats van er eer voor te nemen en wordt buiten de totalen gelaten.
- Geannuleerd. Je maakte de actie ongedaan, of Hedroom stopte, voordat de meting klaar was. Er wordt niets geclaimd.
Elke bon heeft ook een zekerheidsniveau (hoog, gemiddeld of laag). Een bon met lage zekerheid wordt als "ruw" gemarkeerd en telt niet mee in totalen. Een bon vergelijkt twee tijdvensters; het is geen gecontroleerde proef. Om er een te lezen, zie Een bon lezen.
Waarom geheugendruk, niet gebruikt RAM
Een Mac die al een tijd aan staat, toont het meeste geheugen als gebruikt, met opzet. macOS vult vrij geheugen met gecachte bestanden, omdat het volgende dat je opent daardoor sneller is, en geeft het terug zodra een app het nodig heeft. Een volle geheugenbalk is geen probleem. Wat telt is of macOS moeite heeft ruimte te vinden: dat is geheugendruk, samen met hoe snel swap groeit. Daarom heeft Hedroom geen knop die geheugen "leegmaakt". Dat dwingt macOS de nuttige cache weg te gooien. De gids over druk en gebruikt RAM laat zien hoe je dit zelf in Activiteitenweergave controleert.
Wat het goedkoop maakt
Het budget van Hedroom is gemiddeld minder dan 0,5% van één CPU-kern en minder dan 80 MB geheugen. Wat tot nu toe is gemeten:
| Meting | Resultaat | Datum |
|---|---|---|
| CPU, geen venster open, ticks van 5 s | 0,27% van één kern (138 intervallen binnen een run van 30 minuten). Testlimiet: onder 0,3%. | 2026-10-13 |
| Geheugen, geen venster open | Mediaan 29,2 MB, hoogste 31,7 MB. Limiet: onder 80 MB. | 2026-10-13 |
| Wake-ups, geen venster open | Gemiddeld 0,45 per seconde. Limiet: onder 5. | 2026-10-13 |
| Scherm Vandaag open, stabiel | 0,5% van één kern, voetafdruk 71 MB (390 seconden, venster als zichtbaar geverifieerd). Deze run was gedeeltelijk. | 2026-10-15 |
Lees deze als gemeten, niet beloofd. Het is één Mac, en delen van de runs draaiden op de snellere tick van 2 seconden omdat die Mac onder geheugendruk stond. De eerste run na installatie doet een opslagscan die enkele minuten duurt, tot één kern, met lage prioriteit. Andere tabbladen dan Vandaag zijn niet allemaal opnieuw gemeten. Vóór de oplossingen die in dezelfde notities staan, kostte een open venster 20 tot 40% van een kern; dat is door deze tests gevonden en opgelost. De ruwe bestanden en het volledige verslag staan in de map bench/results van de repository, en Instellingen toont de eigen gemeten kosten van Hedroom op jouw Mac. De releasepoort is de benchmark en een overheadrun op de ondertekende build, die nog niet heeft plaatsgevonden.
Wat het licht houdt: één sampler voor alles, een tragere tick wanneer er niets gebeurt, scans per app maar om de paar ticks op de achtergrond, vensterinhoud die pas wordt opgebouwd terwijl een venster op het scherm staat en animaties die stoppen wanneer het venster verborgen is.
Wat het weigert aan te raken
- macOS zelf: alles wat door Apple is ondertekend of in een systeemmap staat. Hedroom legt deze processen uit, zoals
kernel_taskenWindowServer, en pauzeert, vertraagt of sluit ze nooit af. Zie kernel_task, WindowServer en andere processen uitgelegd. - De app voor je neus, apps in gesprek, apps die geluid afspelen of de microfoon of camera gebruiken, back-up-apps tijdens een back-up.
- Apps op je lijst Nooit aanraken.
- Je bestanden, tenzij je elke verwijdering zelf bevestigt. Opruimen gaat eerst naar de prullenmand.
De volledige lijst, met tests achter elke regel, staat op Wat Hedroom nooit doet. Hierna: elke functie en de grenzen ervan, hoe Hedroom zich verhoudt en de woordenlijst.