Cuando tu MacBook se calienta al programar

Que un MacBook se caliente mientras programas casi siempre es carga sostenida de CPU y GPU —una compilación larga, una pila de contenedores Docker, un modelo local— y no un problema de hardware en sí mismo. Lo que convierte ese calor normal en un problema real es que no tenga adónde ir: una tapa cerrada, una superficie blanda o una tarea sin supervisión que nadie está vigilando. Esta es una mirada honesta a lo que realmente ayuda, incluyendo las herramientas gratuitas que la gente ya usa para mantener un trabajo corriendo y en qué se quedan cortas específicamente en el tema del calor.
Por qué se calienta, para empezar
El calor es el chip haciendo trabajo, no una señal de alarma por sí sola. Una compilación larga, una pila de contenedores Docker o una corrida de un modelo local mantienen la CPU y la GPU cerca del máximo durante minutos u horas, y es ese consumo sostenido —no un pico aislado— lo que sube la temperatura.
Una tapa cerrada empeora las cosas porque atrapa ese calor contra el teclado, justo donde están las rejillas diseñadas para meter aire fresco. Una superficie blanda como una cama, un sofá o una mochila bloquea esas mismas rejillas por debajo, así que el calor no tiene adónde ir de ninguna de las dos formas.
Algo de calor bajo carga es normal y está bien. Lo que vale la pena detectar es una corrida que sube y se queda alta, porque ahí es cuando el chip empieza a hacer throttling —bajando su propia velocidad para protegerse— y tu build o tarea en realidad se vuelve más lenta mientras sigue "corriendo".
Nada de esto es una falla. Se vuelve un problema real solo cuando el calor no tiene adónde ir y nadie está vigilando —que suele ser justo el caso de las tareas que más quiere dejar corriendo la gente: builds largos, modelos locales y sesiones con la tapa cerrada, iniciadas justamente para que el trabajo siga sin que nadie esté pendiente.
Cómo la gente mantiene corriendo un trabajo que calienta, de todas formas
Cuando una tarea toma horas, el instinto es evitar que el Mac se duerma, no enfriarlo —los temporizadores de suspensión por defecto de macOS son lo que en realidad se interpone en una tarea sin supervisión, así que eso es lo primero que la gente arregla.
caffeinate es el propio comando de terminal integrado en macOS (por ejemplo, caffeinate -i, o caffeinate -w <pid> ligado a un proceso en ejecución). Es realmente útil para una sesión en primer plano —sin instalar nada, sin costo— pero no tiene interfaz gráfica, no tiene ningún límite de seguridad y necesita la tapa abierta. No sabe ni le importa cuál es la temperatura.
Apps de la barra de menú como Amphetamine, Caffeine, KeepingYouAwake y Lungo hacen básicamente lo mismo, con comodidades reales que caffeinate no tiene: un ícono de encendido/apagado, temporizadores y reglas que se activan con apps específicas. Son herramientas sólidas para lo que fueron creadas —automatizar el "mantener despierto" en general— pero ninguna de ellas lee el estado térmico tampoco.
Para de verdad dejar la tapa cerrada, el mecanismo debajo es pmset disablesleep 1, y macOS exige emparejarlo con disablesleep 0 para volver a apagarlo, o se queda activado indefinidamente. Ejecutarlo a mano funciona, y es la misma llamada de sistema que usa el propio modo Closed-Lid de LidRun —solo que sin interfaz, sin un piso de batería/temperatura, ni nada que empareje el 0 automáticamente. El otro camino gratuito es el modo clamshell con pantalla externa: conectas un monitor, teclado y mouse mientras está enchufado a corriente, y macOS corre con la tapa cerrada por su cuenta porque considera que el Mac está "en uso." No hace falta ningún truco para mantenerlo despierto —pero es una configuración de escritorio, no de laptop en movimiento, y tampoco vigila la temperatura.
Guía relacionadaControl de ventiladores en Mac para desarrolladoresDónde ese workaround te puede morder
Ninguna de estas herramientas fue creada para saber si un Mac se está sobrecalentando —fueron creadas para evitar la suspensión, punto, y todas cumplen esa función honestamente. El riesgo no es que mientan sobre lo que hacen; es que "mantenerse despierto" y "mantenerse seguro" son dos trabajos distintos, y solo uno de ellos está cubierto.
La falla concreta se ve así: corres caffeinate o pmset disablesleep 1 en una tarea larga, cierras la tapa y metes el Mac en una mochila o debajo de un cojín "solo por una hora." El comando hace exactamente lo que prometió —el Mac se mantiene despierto— mientras el trabajo sigue corriendo contra rejillas bloqueadas, sin nada que vigile cómo sube el calor.
Es el mismo vacío con una app para mantener despierto y un temporizador: el temporizador es cuestión de tiempo, no de temperatura. Una tarea puede quedarse en un estado térmico alto durante toda su duración y la app nunca se va a enterar, porque nunca se le pidió que lo mirara.
También existe una versión más chica y fácil de encontrarse: olvidar emparejar pmset disablesleep 1 de vuelta a 0 cuando termina la tarea, lo que deja al Mac sin poder suspenderse normalmente. Si alguna vez lo activaste a mano y no estás seguro de haberlo apagado de nuevo, pmset -g te muestra SleepDisabled en su salida.
Qué es lo que de verdad ayuda, en serio
Las respuestas aburridas son las verdaderas: la ventilación y una superficie dura y plana hacen más que cualquier app. Levantar un poco la parte trasera de la laptop para que el aire pueda circular por debajo es realmente efectivo, y no cuesta nada.
macOS no muestra una lectura de temperatura en ninguna parte de su interfaz estándar, pero sí rastrea el throttling térmico por debajo. Corre pmset -g therm en Terminal y fíjate en CPU_Speed_Limit: 100 significa que el chip corre a toda velocidad, y cualquier número notablemente menor significa que ya se está frenando para sobrevivir al calor. Es lo más parecido a un diagnóstico nativo que ofrece macOS, y es la misma señal que LidRun vigila automáticamente para que no tengas que correr el comando tú mismo.
Cuando una tarea se calienta, bajarle a la carga ayuda más de lo que la gente espera: limitar los trabajos en paralelo (make -j4 o ninja -j4 en lugar del valor por defecto que usa todos los núcleos), bajarle el límite de núcleos de CPU a Docker Desktop en su configuración de Resources, o para modelos locales, limitar la concurrencia con las variables de entorno de Ollama OLLAMA_NUM_PARALLEL y OLLAMA_MAX_LOADED_MODELS, o simplemente correr un modelo cuantizado más chico cuando no necesitas el más grande. Cada una de estas opciones cambia algo de tiempo real por una temperatura sostenida más baja.
No existe ninguna configuración que haga desaparecer el calor mientras el trabajo se mantiene igual, y cualquier herramienta que asegure que un Mac nunca se sobrecalienta está exagerando. La meta honesta es un pico de calor más bajo y una salida más rápida cuando sí sube, no una promesa de que no va a pasar.
Dónde encaja una herramienta consciente del calor
Si estás programando de forma interactiva y el Mac se calienta, lo vas a sentir y puedes reaccionar —abrir una ventana, bajarle al build, alejarte del escritorio un minuto. Ahí no necesitas nada que esté vigilando por ti.
El caso donde vale la pena vigilar la temperatura es la tarea larga y sin supervisión, especialmente con la tapa cerrada, donde nadie está frente a la pantalla para notar que el calor sube. LidRun muestra la misma señal térmica general que reporta macOS —cuatro niveles: Normal, Fair, Hot y Very hot— en vivo en la barra de menú, junto con la temperatura reportada por el SMC y ese número de throttle CPU_Speed_Limit, donde el hardware los expone.
El mecanismo es específico, no vago: en cuanto las cosas cruzan a "Hot," LidRun muestra una advertencia. En el momento en que lee "Very hot," libera de inmediato la retención de "mantener despierto," y si el modo Closed-Lid está activo, también lo apaga y te dice que abras la tapa o arregles la ventilación —en lugar de dejar que una tarea caliente siga moliendo con la tapa cerrada y nadie vigilando. Esa es la diferencia con caffeinate o un simple temporizador para mantener despierto: la liberación está ligada al calor, no a un reloj.
Vale la pena decir con claridad un límite honesto: LidRun no hace girar tus ventiladores ni fija un RPM. En Apple Silicon el sistema restringe de plano el control de ventiladores de terceros, así que ninguna app puede prometer eso honestamente. Lo que LidRun hace es vigilar y replegarse —gestiona el riesgo, no anula el hardware. Si sueles dejar builds pesados o corridas de modelos mientras te alejas, ese replegarse es la parte que vale la pena tener: un límite térmico decide cuándo debe detenerse una tarea sin supervisión, en lugar de dejarlo a la suerte.
Algunos hábitos que lo mantienen fresco
Trabaja sobre un escritorio o un soporte, no en una cama, un sofá o una mochila cerrada. Que las rejillas estén despejadas importa más que cualquier ajuste de software, y este es el hábito con más impacto de toda esta lista.
Mantén la habitación a una temperatura razonable y la laptop fuera del sol directo. El calor ambiente se suma al que ya está generando la carga de trabajo.
Un soporte, una base o incluso un par de patitas de goma que levanten el borde trasero le dan espacio para respirar a las rejillas de entrada —es realmente una de las mejoras más baratas y efectivas, y más confiable que cualquier arreglo a nivel de software.
Para tareas largas con la tapa cerrada, deja activada la vigilancia térmica, para que una sesión pueda terminar si el calor supera tu límite mientras estás lejos. Es un respaldo, no un sustituto de la ventilación —usa ambos.
LidRun mantiene tu trabajo en marcha con la tapa cerrada, con protección de batería y temperatura integrada.
¿Ya tienes LidRun? Lee la guía de configuración →
¿Nuevo en LidRun? Consulta los precios →
Preguntas frecuentes
Algo de calor bajo carga sostenida es normal. La preocupación es el calor que sube y se queda alto, porque eso lleva a throttling y hace que la tarea en realidad corra más lenta. Buena ventilación, una superficie dura y plana, y bajarle a la carga en paralelo son las soluciones prácticas —no una sola app.
macOS no muestra un número en grados Celsius en ninguna parte de su interfaz estándar. El diagnóstico nativo más cercano es correr pmset -g therm en Terminal y leer CPU_Speed_Limit —100 significa que no hay throttling, y un número menor significa que el chip ya se está frenando por el calor. LidRun muestra esa misma señal de base como un estado de cuatro niveles en vivo (Normal, Fair, Hot, Very hot) en la barra de menú, para que no tengas que correr el comando tú mismo.
No por sí solos —ninguno de los dos genera calor. El riesgo está en lo que no hacen: mantienen el Mac despierto sin vigilar la temperatura en absoluto, así que si usas uno de ellos para forzar que una tarea con la tapa cerrada siga corriendo en un lugar con rejillas bloqueadas, nada la va a detener si las cosas se calientan demasiado. El riesgo del calor viene de la configuración, no del comando.
Sí, para tareas sin supervisión y con la tapa cerrada: al llegar a una lectura térmica crítica, LidRun libera de inmediato la retención de "mantener despierto" y apaga el modo Closed-Lid si está activo, en lugar de dejar que una tarea caliente siga corriendo. Además, siempre puedes ver el estado térmico actual en la barra de menú. Ayuda a reducir el riesgo; no promete que un Mac nunca pueda sobrecalentarse.
No. En Apple Silicon, el sistema restringe el control de ventiladores de terceros, así que LidRun no hace girar los ventiladores ni fija un RPM —ninguna app puede prometer eso honestamente. LidRun vigila el estado térmico que reporta macOS y se repliega cuando las cosas se calientan, en lugar de intentar anular el hardware.
Sí, más que la mayoría del software. Un soporte o base que levanta la parte trasera de la laptop para que el aire pueda circular por debajo ataca el verdadero cuello de botella —las rejillas bloqueadas— en lugar de solo rodearlo. Es una de las formas más simples y confiables de mantener más fresca una tarea larga.