Cómo funciona Hedroom, paso a paso
Hedroom lee unos pocos números de macOS, nota cuándo una app ha fallado, sugiere una solución y mide lo que ocurrió después de que la aceptes. Aquí está cada paso, con los umbrales que usa.
Los números de esta página salen de los propios documentos de diseño y del código de Hedroom. Cuando un número es una medición, dice cuándo y en qué Mac. Hedroom aún no se ha lanzado, así que nada de esto describe una versión pública.
Los cinco pasos
- MuestrearUn único muestreador lee la memoria, la CPU, la energía, la térmica y el almacenamiento.
- DetectarCompara con lo normal en tu Mac. Nombra la única app que importa.
- DecidirElige una sugerencia. Una puerta de seguridad puede rechazarla.
- Actuar, con consentimientoNo pasa nada hasta que lo dices tú, o lo dice una regla que activaste.
- ReciboLecturas de antes, lecturas de después, un veredicto honesto.
1. Muestrear: qué lee y cada cuánto
Todas las lecturas vienen de un único muestreador que se ejecuta fuera del hilo principal, para que la app siga respondiendo. Cada fuente es una pieza de código separada detrás de una interfaz, que es también como se prueba con datos falsos. Estas son las fuentes:
| Lectura | Para qué se usa | Cuándo |
|---|---|---|
| Nivel de presión de la memoria | El propio juicio de macOS sobre cuánto le cuesta encontrar espacio. La señal principal de memoria. | En cada tick, e inmediatamente cuando macOS informa de un cambio. |
| Desglose de memoria y actividad de swap | Memoria de apps, reservada, comprimida y en caché, y la rapidez con que crece el swap. | En cada tick. |
| Memoria, tiempo de CPU y energía por app | La huella de cada proceso (la cifra que Monitor de Actividad muestra como “Memoria”), agrupada para que una app y sus ayudantes cuenten como una. | En cada tick mientras hay una ventana abierta, cada 2 ticks en segundo plano con corriente, cada 3 con batería y cada 4 en Modo de bajo consumo. |
| Carga de CPU por núcleo | Apps ocupadas, y el reparto entre núcleos de rendimiento y de eficiencia. | En cada tick. |
| Potencia del chip | Vatios de CPU, GPU, Neural Engine y memoria, donde el Mac los informa. Usa una interfaz de macOS que Apple no documenta, así que Hedroom dice “no disponible” en lugar de adivinar cuando falla. | Ventanas de al menos 3,5 segundos. |
| Estado térmico y batería | Si macOS está limitando el rendimiento, ciclos y capacidad de la batería, tiempo restante. | En cada tick. |
| Almacenamiento libre | Espacio disponible en el volumen de arranque. | Cada 30 segundos con una ventana abierta, cada 5 minutos sin ella. |
| CPU de WindowServer | Solo para la pantalla de CPU y el asesor de pantalla. | Solo mientras una de esas pantallas está abierta. |
| Audio, micrófono y cámara en uso | Comprobaciones de seguridad: Hedroom no toca una app que está en una llamada. | Cuando se considera una acción. |
El tick
Un “tick” es una ronda de lecturas. Cada cuánto ocurre depende de lo que estés haciendo:
| Situación | Tick |
|---|---|
| Hay abierta una ventana de Hedroom o el panel de la barra de menús | 2 s |
| En segundo plano, con corriente | 5 s |
| En segundo plano, con batería | 10 s |
| El Modo de bajo consumo está activado | 15 s |
| La presión de la memoria es Warn o Critical | 2 s, forzado |
| Pausaste la supervisión | Detenido |
Ajustes tiene una opción “Comprobar mi Mac cada” de 2, 5 o 10 segundos para la frecuencia con la ventana abierta; las frecuencias en segundo plano se escalan a partir de ella. Las lecturas sin procesar se guardan 48 horas. Todo se queda en tu Mac, en un único archivo de base de datos en tu carpeta Biblioteca. Consulta Privacidad.
2. Detectar: qué cuenta como hallazgo
Hedroom no lanza un aviso porque un número sea grande. Compara cada app con el tamaño que esa app suele tener en tu Mac y espera a ver si el cambio dura.
Memoria: Saludable, En tensión, Crítico
Hedroom muestra uno de tres estados. Los umbrales están escritos y probados.
| Estado | Entra cuando | Sale cuando |
|---|---|---|
| En tensión | macOS informa del nivel de presión Warn, o el swap crece a 20 MB por minuto o más durante 2 minutos mientras la memoria comprimida es al menos el 20 % de la RAM. | El nivel es Normal y el crecimiento del swap está por debajo de 5 MB por minuto durante 3 minutos. |
| Crítico | macOS informa del nivel Critical, o el swap crece a 200 MB por minuto o más durante 60 segundos, o la memoria libre más la de caché está por debajo del 3 % de la RAM durante 60 segundos. | Ninguna de esas condiciones durante 2 minutos. Entonces baja a En tensión. |
El swap que simplemente está usado nunca pone el Mac En tensión, porque macOS conserva swap antiguo. Solo cuenta el swap que está creciendo. Mucha memoria “usada” con presión saludable es Saludable. Por qué presión y no RAM usada explica la diferencia.
Una fuga: una app muy por encima de su tamaño habitual, durante un rato
Para cada app, Hedroom aprende un tamaño habitual a partir de tus últimos 7 días de uso normal. Marca una fuga solo cuando se cumple todo esto:
- La app tiene al menos 3 veces su tamaño habitual. A 2,5 veces se muestra como “creciendo” y nada más.
- Tiene al menos 1 GB, o el 6 % de tu RAM si eso es mayor.
- Se ha mantenido así durante 20 minutos seguidos, o sigue creciendo en una tendencia de 30 minutos.
- No está en tu lista de apps que nunca se tocan, no es de Apple (con una pequeña excepción para las apps de Apple que usas tú mismo) y no es una app que la biblioteca de procesos marque como normalmente grande, como un editor de vídeo o Docker.
Hasta que Hedroom ha aprendido una app durante unas 6 horas, dice que aún está aprendiendo. Para una app que conoce por su nombre usa el tamaño típico de la biblioteca de procesos; para una app desconocida solo marca un tamaño de al menos el 15 % de tu RAM que siga creciendo, y dice “inusualmente grande” en lugar de una proporción.
CPU desbocada
Una app en segundo plano (no la que estás usando) que promedia el 80 % de un núcleo o más durante 3 minutos, y al menos 3 veces su propia CPU habitual en segundo plano, está desbocada, salvo que la biblioteca la marque como normalmente ocupada (compiladores, copias de seguridad, codificadores de vídeo, indexación) o esté en una llamada. Aparece en Hoy tras 3 minutos. Una notificación espera hasta que haya durado 10 minutos.
Control del ruido
El mismo hallazgo sobre la misma app notifica como máximo una vez cada 6 horas. Las notificaciones no urgentes se detienen en 3 al día. Descarta una tres veces para una app y Hedroom deja de notificar sobre ella y ofrece una entrada de nunca tocar.
3. Decidir: una sugerencia y luego la puerta de seguridad
Cuando Hedroom podría hacer más de una cosa, las ordena según lo que devolverían frente a lo arriesgadas que son, y muestra las dos primeras. Forzar la salida nunca se ofrece como solución ordenada.
Antes de cualquier reapertura, cierre, pausa o paso a núcleos de eficiencia, la petición pasa por una única puerta de seguridad. La puerta rechaza cuando el objetivo:
- Es el propio Hedroom (se ignora en silencio).
- Es de Apple o está en una carpeta del sistema, salvo las apps de Apple que usas tú mismo, que puedes reabrir o cerrar con un clic.
- Está en tu lista de apps que nunca se tocan.
- Es la app que estás usando ahora mismo, cuando una regla pide una pausa, un paso o un cierre.
- Reproduce audio, usa el micrófono o es una app de llamadas con una cámara encendida.
- Es una app de copias de seguridad mientras se ejecuta una copia.
- No se sabe que tolere que se la pause, cuando una regla quiere pausarla o cerrarla y no elegiste tú la app. Hedroom no puede ver con fiabilidad el trabajo sin guardar.
- Es una app que la biblioteca marca como no segura para reabrir, durante presión crítica.
- Es una salida forzada sin una segunda confirmación, aparte.
Si Hedroom no puede comprobar una de estas cosas (por ejemplo, falla la comprobación de audio), las reglas no hacen nada y un clic te pregunta antes. Un rechazo se muestra con su motivo, como una frase del tipo “Slack está en una llamada.”, no como un error. Todo lo rechazado o hecho queda registrado. Más en Lo que Hedroom nunca hace.
4. Actuar, con consentimiento
Las acciones son pequeñas y reversibles:
- Reabrir pide a la app que se cierre, como hace ⌘Q, espera y la abre de nuevo.
- Núcleos de eficiencia baja la prioridad de una app para que su trabajo se ejecute en los núcleos de eficiencia.
- Pausa congela una app hasta que vuelvas a ella, o durante 60 minutos como máximo. Un pequeño proceso de guardia la reanuda aunque Hedroom falle.
Un clic en un botón es consentimiento para esa acción. Una regla es un consentimiento que diste de antemano, y cada plantilla viene desactivada. Cerrar o reabrir una app de la que no se sabe que sea segura siempre pregunta antes. Nunca se elimina nada sin tu permiso cada vez; la limpieza mueve archivos a la Papelera. Soluciones y Reglas listan cada límite.
5. Recibo: antes, después y un veredicto honesto
Cada acción produce un recibo. Hedroom compara las lecturas de los 5 minutos anteriores a la acción con las de 5 a 15 minutos después, omitiendo los primeros 30 segundos (60 segundos tras una reapertura) mientras todo se asienta.
Hay cuatro resultados honestos:
- Medido. El cambio es al menos el más pequeño que Hedroom cuenta: 100 MB de memoria, 10 puntos porcentuales de un núcleo de CPU, 0,3 W o 50 MB de disco.
- Sin efecto. El cambio fue menor que eso, o en la dirección equivocada. El recibo dice “Sin efecto medible.” y no se atribuye ningún mérito.
- No medible. Otras apps cambiaron demasiado a la vez (otra app se movió más de 1 GB, se abrió una app nueva que usa más de 500 MB, cerraste otras apps, el Mac entró en reposo o se conectó o desconectó la corriente). El recibo lo dice en lugar de atribuirse el mérito, y se deja fuera de los totales.
- Cancelado. Deshiciste la acción, o Hedroom se cerró, antes de terminar la medición. No se afirma nada.
Cada recibo también lleva un nivel de confianza (alto, medio o bajo). Un recibo de confianza baja se etiqueta como “aproximado” y no cuenta en los totales. Un recibo compara dos ventanas de tiempo; no es un ensayo controlado. Para leer uno, consulta Cómo leer un recibo.
Por qué presión de la memoria y no RAM usada
Un Mac que lleva un tiempo encendido muestra la mayor parte de su memoria como usada, por diseño. macOS llena la memoria sobrante con archivos en caché, porque eso hace más rápido lo siguiente que abres, y la devuelve en el momento en que una app la necesita. Una barra de memoria llena no es un problema. Lo que importa es si macOS tiene dificultades para encontrar espacio: eso es la presión de la memoria, junto con la rapidez con que crece el swap. Por eso Hedroom no tiene un botón que “limpie” la memoria. Hacerlo obliga a macOS a tirar la caché útil. La guía sobre presión y RAM usada muestra cómo comprobarlo tú mismo en Monitor de Actividad.
Qué lo hace barato
El presupuesto de Hedroom es menos del 0,5 % de un núcleo de CPU de media y menos de 80 MB de memoria. Lo que se ha medido hasta ahora:
| Medición | Resultado | Fecha |
|---|---|---|
| CPU, sin ventana abierta, ticks de 5 s | 0,27 % de un núcleo (138 intervalos dentro de una ejecución de 30 minutos). Límite de la prueba: menos del 0,3 %. | 2026-10-13 |
| Memoria, sin ventana abierta | Mediana de 29,2 MB, máximo de 31,7 MB. Límite: menos de 80 MB. | 2026-10-13 |
| Activaciones, sin ventana abierta | 0,45 por segundo de media. Límite: menos de 5. | 2026-10-13 |
| Pantalla Hoy abierta, estable | 0,5 % de un núcleo, huella de 71 MB (390 segundos, ventana verificada como visible). Esta ejecución fue parcial. | 2026-10-15 |
Léelo como medido, no prometido. Es un solo Mac, y partes de las ejecuciones fueron con el tick más rápido de 2 segundos porque ese Mac estaba bajo presión de memoria. La primera ejecución tras la instalación hace un análisis de almacenamiento que dura unos minutos a hasta un núcleo, con prioridad baja. No se volvieron a medir todas las pestañas aparte de Hoy. Antes de las correcciones registradas en las mismas notas, una ventana abierta costaba del 20 al 40 % de un núcleo; esto se encontró con estas pruebas y se corrigió. Los archivos sin procesar y la descripción completa están en la carpeta bench/results del repositorio, y Ajustes muestra el coste medido de Hedroom en tu Mac. La puerta de lanzamiento es el benchmark y una ejecución de sobrecarga en la versión firmada, que aún no se ha hecho.
Lo que lo mantiene ligero: un único muestreador para todo, un tick más lento cuando no pasa nada, análisis por app solo cada pocos ticks en segundo plano, contenido de ventana que solo se construye mientras hay una ventana en pantalla y animaciones que se detienen cuando la ventana está oculta.
Lo que se niega a tocar
- El propio macOS: todo lo firmado por Apple o en una carpeta del sistema. Hedroom explica esos procesos, como
kernel_taskyWindowServer, y nunca los pausa, ralentiza ni cierra. Consulta kernel_task, WindowServer y otros procesos explicados. - La app que tienes delante, las apps en una llamada, las apps que reproducen audio o usan el micrófono o la cámara, las apps de copias de seguridad durante una copia.
- Las apps de tu lista de apps que nunca se tocan.
- Tus archivos, salvo que confirmes tú cada eliminación. La limpieza va primero a la Papelera.
La lista completa, con pruebas detrás de cada línea, está en Lo que Hedroom nunca hace. A continuación: cada función y sus límites, cómo se compara Hedroom y el glosario.