¿Por qué un reinicio arregla las cosas? Una guía visual del sistema operativo y la gestión de memoria

Si usas un PC, seguramente te has topado más de una vez con una situación así.

  • El PC a veces te pide reiniciar tras una actualización del sistema operativo u otro evento similar. ¿Cuál es la diferencia entre «apagar y encender» y «reiniciar»?
  • El móvil se vuelve lento tras un uso prolongado. ¿Por qué apagarlo y encenderlo otra vez lo reanima?

La mayoría de la gente lo hace sin pensarlo, y muy pocos sabrían explicar por qué funciona. Pero al rastrear cada caso hasta su raíz, ambos comparten la misma razón.

Mientras un PC o un móvil están encendidos, el sistema operativo (el software base subyacente) va apilando «lo que recuerda en este momento» sobre la memoria. Un reinicio es el acto de vaciarlo todo a cero y reconstruir desde el principio. Y en Windows 10/11, «apagar y encender» y «reiniciar» no son realmente lo mismo (lo veremos en §3-2).

En este artículo desentrañaremos:

  • Qué es realmente la memoria y por qué desaparece al apagar (§1)
  • Cómo las apps funcionan tomando memoria prestada del sistema operativo (§2)
  • Qué hace exactamente un reinicio, paso a paso (§3)
  • Qué son las fugas de memoria y por qué aparecen tras un uso prolongado (§4)
  • La otra trampa además de la memoria ─ los handles (§5)
  • Por qué las actualizaciones a menudo requieren un reinicio (§6)
  • El mundo «sin reinicios» que han creado la nube y las herramientas modernas (§7)
  • Un puñado de comandos que puedes ejecutar tú mismo para observar todo esto (§8)

Iremos paso a paso con diagramas, sin asumir conocimientos previos.

💡 Tip

Este artículo es la tercera entrega de nuestra serie «Cómo funciona realmente un PC», junto con ¿Por qué el software no funciona sin instalación? y ¿Qué es una dirección IP?. Si la instalación trata del apretón de manos entre el sistema operativo y una app y las direcciones IP tratan del «domicilio» en la red, este artículo va sobre el «estado» que el sistema operativo acumula silenciosamente con el tiempo.

1. Qué es realmente la memoria ─ la diferencia entre el «escritorio» y la «estantería»

Para hablar de por qué un reinicio arregla las cosas, lo primero que necesitas es una intuición de qué es la memoria (el «escritorio» en el que tu PC está trabajando ahora mismo). Mucha gente sabe vagamente que «si llenas la memoria, el ordenador se vuelve lento», pero vamos a profundizar un nivel más.

1-1. La RAM es volátil ─ corta la corriente y desaparece

Dentro de un PC hay esencialmente dos tipos de contenedores para los datos.

  • RAM (memoria principal) ─ rápida, pero todo lo que contiene desaparece al cortar la corriente (volátil)
  • SSD / HDD (almacenamiento) ─ más lentos, pero su contenido sobrevive al apagado (no volátil)

La analogía del escritorio y la estantería funciona muy bien. La RAM es tu escritorio ─ puedes coger al instante cualquier documento que tengas extendido encima, pero al irte de la oficina por la noche el escritorio se recoge. SSD/HDD son la estantería ─ algo más lentos para sacar y meter cosas, pero el contenido permanece allí durante la noche.

Esa es la razón física por la que un reinicio resetea el contenido de la memoria. En el momento en que la corriente cae de verdad (o una función se comporta como si lo hubiera hecho), todo lo que la RAM tenía se pierde, y el sistema operativo tiene que leer lo que necesita de la estantería y volverlo a colocar sobre el escritorio.

1-2. La jerarquía de memoria ─ velocidad y capacidad forman una pirámide invertida

En realidad hay capas más finas entre la RAM y SSD/HDD. Desde el almacén ultrarrápido y minúsculo dentro de la CPU (registros) hasta el SSD/HDD que aloja la mayor parte de la capacidad de tu máquina, velocidad y capacidad forman aproximadamente una pirámide invertida.

       [rápido / pequeño]
   ┌───────────────────────┐
   │  Registros de la CPU   │  unos pocos ns, decenas de bytes por núcleo
   ├───────────────────────┤
   │  Caché L1              │  ~1 ns, decenas de KB por núcleo
   ├───────────────────────┤
   │  Caché L2              │  unos pocos ns, cientos de KB a unos pocos MB
   ├───────────────────────┤
   │  Caché L3              │  ~10 ns, unos pocos MB a decenas de MB por CPU
   ├───────────────────────┤
   │  RAM (memoria princ.)  │  ~100 ns, 8 a 64 GB
   ├───────────────────────┤
   │  SSD                   │  ~100 µs (= 100 000 ns), 500 GB a varios TB
   ├───────────────────────┤
   │  HDD                   │  ~10 ms (= 10 000 000 ns), escala TB
   └───────────────────────┘
       [lento / grande]

Las claves: cada peldaño hacia abajo multiplica el tiempo de acceso por unas 10x, y se traza una línea clara entre L1–RAM (volátiles) y SSD/HDD (no volátiles). Mientras hay corriente, el sistema operativo y las apps van cargando estado en las capas «rápidas y volátiles». Cuando se corta la corriente, la mitad superior de la pirámide se borra sola.

💡 Tip

Cuando ves «PC con 16 GB de RAM», esos 16 GB se refieren al nivel de RAM aquí, completamente separado de la capacidad de tu SSD/HDD. La división «256 GB de almacenamiento / 8 GB de RAM» en un móvil sigue la misma distinción.

2. Procesos y memoria ─ cómo una app «toma el escritorio prestado»

El §1 te dio la imagen de «la memoria como un escritorio». A continuación veremos cómo cada app usa realmente ese escritorio. La meta es que puedas visualizar exactamente qué se resetea con un reinicio.

2-1. ¿Qué es un proceso? ─ cada programa en ejecución, uno por uno

Abre el Administrador de tareas y verás Chrome, Slack, Explorer y compañía alineados. Cada fila es un proceso (una instancia de un programa en ejecución). Cuando lanzas una app, el sistema operativo le entrega un trozo de memoria y la registra como proceso. Cuando la cierras, ese trozo se devuelve al sistema operativo y se recicla para otro.

Así que la relación es:

  • Un programa es un archivo en disco (.exe, .app, etc.)
  • Un proceso es ese archivo desplegado en RAM y ejecutándose en este momento

Lo que se resetea con un reinicio es lo segundo ─ todos los procesos que en ese momento están desplegados en RAM.

2-2. La distribución en memoria de un proceso ─ cuatro habitaciones

La región de memoria asignada a un único proceso está dividida en aproximadamente cuatro «habitaciones»:

   ┌─────────────────────────┐
   │  Texto (código)          │ ← las instrucciones de la CPU a ejecutar
   ├─────────────────────────┤
   │  Datos / BSS             │ ← variables globales y constantes
   ├─────────────────────────┤
   │  Heap                    │ ← memoria asignada dinámicamente (crece ↓)
   │   ↓                      │
   │                          │
   │   ↑                      │
   │  Pila (Stack)            │ ← registros de llamadas a funciones (crece ↑)
   └─────────────────────────┘
  • Texto son las instrucciones reales de la app en ejecución (el código desplegado en RAM en §1)
  • Datos / BSS es donde viven las variables fijadas al inicio
  • Heap es donde la app le dice «dame un poco más de memoria» al sistema operativo durante la ejecución. Es la parte que tiende a hincharse en apps de larga duración (el campo de batalla principal de las fugas de memoria del §4)
  • Pila es el bloc de notas temporal usado en cada llamada a función; se limpia sola cuando la función retorna

Recuerda solo que «el heap es el sitio que crece con el tiempo». Eso es lo que importa en §4.

2-3. Memoria virtual ─ cada app cree tener su propio escritorio privado

Una capa más a conocer: aunque haya muchos procesos ejecutándose a la vez, cada app se comporta como si tuviera el escritorio para ella sola. El mecanismo que lo hace posible es la memoria virtual (el «escritorio privado simulado» a nivel de sistema operativo que ve cada app).

   La dirección que ve cada app (dirección virtual)
          │
          │   Gestión de memoria del SO (MMU + tabla de páginas)
          ▼
   La ubicación real en RAM física (dirección física)

El SO mantiene una tabla de mapeo (la tabla de páginas) y traduce «escribe en la dirección 0x1000» a una dirección real de RAM física. El 0x1000 de la app A y el 0x1000 de la app B en realidad apuntan a ubicaciones físicas completamente distintas.

Es elegante, pero como efecto secundario el SO acaba manteniendo en memoria una cantidad enorme de datos de tabla de páginas y registros relacionados. Eso también forma parte del «estado» que se va apilando en RAM mientras la máquina está encendida, y todo vuelve a cero con el reinicio.

💡 Tip

Cuando la RAM escasea, el SO empuja los datos más antiguos al SSD. Eso es la memoria de intercambio o swap (mover temporalmente al estante los documentos que ya no caben sobre el escritorio). Hacer mucho swap hace que las apps se sientan repentinamente lentas, y una de las razones por las que un reinicio «se siente más ligero» es que las regiones de swap también se resetean.

3. [Núcleo] Qué hace realmente un reinicio

Hasta aquí hemos establecido que «el SO y las apps van apilando mucho estado en RAM» y que «cortar la corriente lo barre todo». Entonces, ¿qué hace realmente bajo el capó ese botón «Reiniciar» que pulsas con tanta naturalidad? Vamos a partirlo en 8 fases.

3-1. Las 8 fases de un reinicio

Cada fase tarda desde unos pocos cientos de milisegundos hasta unas decenas de segundos; el total es tu «tiempo de espera del reinicio».

  1. 1Notificar a las apps que cierrenEl SO envía a las apps en ejecución una señal de «por favor, ve cerrando». Las apps guardan estado, vacían cachés y salen limpiamente.
  2. 2Detener servicios / driversLos demonios en segundo plano y los drivers de dispositivo (pequeñas apps que traducen entre el SO y el hardware) se apagan en orden, liberando sus recursos.
  3. 3Sincronizar FS → apagadoLas escrituras pendientes aún en buffer en RAM se vuelcan al SSD (sync), y luego la máquina se apaga físicamente. Aquí es donde la RAM se vacía físicamente.
  4. 4POST de UEFI/BIOSJusto al volver la corriente, se ejecuta el autodiagnóstico del hardware (POST). CPU / memoria / SSD / periféricos reportan «aquí estoy».
  5. 5Arranca el bootloaderEl programa de arranque al inicio del SSD (Windows Boot Manager / GRUB / systemd-boot) se carga y decide qué SO arrancar.
  6. 6Inicialización del kernelEl núcleo del SO (kernel) se carga en RAM y pone en marcha en orden la gestión de memoria, la gestión de procesos y el sistema de archivos.
  7. 7Arranque de serviciosEl SO lanza los demonios que necesita (red, audio, impresión, etc.). Win = Servicios, Linux = systemd, macOS = launchd son los directores de orquesta.
  8. 8Login → inicio de sesiónAparece la pantalla de inicio de sesión; al iniciar sesión vuelven el escritorio y tus apps. Reinicio completado.

Nemotécnico: «notificar → detener → sync → autotest → selección de arranque → kernel → servicios → login». Desde el momento en que pulsas «Reiniciar» hasta que vuelve tu escritorio, siempre pasas por estos 8 pasos.

3-2. ¿«Apagar y luego encender» es lo mismo que «reiniciar»?

Esta es la respuesta directa a la primera pregunta del §0. En Windows 10/11 no son lo mismo.

Desde Windows 10 está activada por defecto una función llamada Inicio rápido (Fast Startup). Cuando eliges «Apagar», en lugar de desmontarlo todo de verdad, el SO hace lo siguiente:

  1. Cierra tus apps a nivel de usuario (esto sí coincide con un apagado «de verdad»)
  2. Guarda el estado del kernel y los drivers en un archivo del SSD (similar a la hibernación)
  3. Apaga la corriente

La próxima vez que enciendas la máquina, las partes pesadas (POST → bootloader → init del kernel, fases 4–6) se restauran desde el SSD en lugar de ejecutarse desde cero, lo que hace que el arranque se sienta más rápido.

Aquí está la trampa: el «estado» apilado en la zona del kernel también se restaura intacto la siguiente vez. En cambio, si eliges «Reiniciar», Inicio rápido se omite y se pasa por las 8 fases completas, que es la única forma de reconstruir realmente desde cero.

FaseApagar → encender
(por defecto = Inicio rápido activado)
Reiniciar
1. Notificar a las apps que cierren
2. Detener servicios / driversParcial (el kernel hiberna)✓ (completo)
3. Sincronizar FS → apagado
4. POST de UEFI/BIOS
5. Arranca el bootloader
6. Inicialización del kernel✗ (restaurado desde la hibernación)
7. Arranque de serviciosParcial (omitido cuando la restauración cubre)✓ (completo)
8. Login → inicio de sesión

Por tanto la regla práctica es:

  • Si solo te interesa un arranque más rápido → apagar y luego encender está bien
  • Si «las cosas vienen comportándose raro» o quieres que un Windows Update se aplique limpiamente → elige siempre «Reiniciar»

Es una distinción pequeña pero discretamente importante. macOS y Linux apenas tienen esta diferencia ─ allí, apagar → encender y reiniciar son aproximadamente equivalentes.

⚠️ Trampa habitual

Si «apagas» tu PC del trabajo o del cole cada noche y por la mañana sigue el mismo fallo, Inicio rápido suele ser el culpable. Puedes desactivarlo desde las opciones de energía de Windows, pero es más práctico elegir directamente «Reiniciar» cuando de verdad necesitas un estado limpio en vez de desactivarlo de forma global.

4. Fugas de memoria ─ «el espacio del escritorio que no vuelve»

En el §2-2 dijimos que «el heap es la parte que crece con el tiempo». El contrato es: una app debería devolver la zona al SO una vez termine de usarla. En la práctica, sin embargo, algunas apps piden prestado y nunca devuelven. Eso es una fuga de memoria (un accidente en el que devoluciones olvidadas reducen poco a poco el espacio de trabajo utilizable).

4-1. Qué pasa realmente

Tomar prestada y devolver memoria se ve, a grandes rasgos, así:

   [tomar prestado]                     [devolver]
   App → «dame 100 MB»                  App → «ya no lo necesito, ten»
   SO  → «aquí tienes»                  SO  → «recibido, lo reciclo para otro»

Una fuga ocurre cuando la app olvida devolver memoria en el momento en que debería. La causa es casi siempre un bug de programación ─ una referencia que queda colgando, un manejador de cierre que no se llama. Incluso fugas de unos pocos cientos de bytes pueden inflarse a gigabytes en horas o días si se producen dentro de un bucle que se ejecuta muchas veces por segundo.

4-2. La RAM que se va comiendo poco a poco con el tiempo

Aquí tienes una imagen estilizada del uso total de RAM cuando una app con fugas se deja corriendo 24 horas.

   Uso de RAM
   100% ┤                                                                ████
        │                                                          ██████████
    80% ┤                                                    ██████████████
        │                                              ██████████████████
    60% ┤                                        ██████████████████████
        │                                  ██████████████████████████
    40% ┤                            ██████████████████████████████
        │                      ██████████████████████████████████
    20% ┤                ██████████████████████████████████████
        │  ██████████████████████████████████████████████████
     0% └─────────────────────────────────────────────────────────────────────→
        0h        4h        8h        12h       16h       20h       24h

Una app que arrancó perfectamente bien va llenando silenciosamente la RAM a lo largo de unas horas. Cuando la RAM escasea, el SO recurre a la memoria de intercambio (swap) (§2-3) y empieza a mover páginas al SSD, pero la E/S de swap es aproximadamente 1000 veces más lenta que la RAM, por lo que toda la máquina empieza a sentirse pesada.

Por qué un reinicio lo arregla: un reinicio borra la RAM (fugas incluidas), y cada app arranca desde un estado fresco, por lo que el total fugado se resetea a cero al instante.

4-3. Los móviles tienen el mismo problema

Los móviles, a diferencia de los PCs, no tienen mucho hábito de «apagar» o «reiniciar». La mayoría de la gente vive solo de la suspensión durante semanas o meses seguidos.

Pero las apps móviles también tienen fugas:

  • Una app social en segundo plano va acumulando memoria silenciosamente
  • Las pestañas del navegador que dejas abiertas van engordando el heap
  • Un juego se queda con la memoria de imágenes que asignó una vez y nunca la libera

Todo esto se acumula. Cuando «mi móvil últimamente está perezoso» o «la batería se gasta más rápido de lo normal», la razón por la que apagarlo y volverlo a encender lo reanima es la misma que en un PC ─ esa acumulación se resetea. Las plataformas móviles tienen una gestión automática de memoria más fuerte que los PCs, pero aun así no pueden atrapar todos los bugs específicos de cada app.

💡 Tip

«¿No bastaría con más RAM para no tener fugas?» No, eso solo gana tiempo. Con más RAM la fuga tarda más en notarse, pero el bug sigue ahí, así que tarde o temprano necesitas reiniciar.

5. Agotamiento de handles ─ la memoria no es lo único finito

«El reinicio arregla cosas raras» no va solo de fugas de memoria. El SO gestiona muchos recursos finitos además de la memoria que sufren el mismo problema de «pedir prestado y nunca devolver». En conjunto se llaman handles de recursos (números de ticket que entrega el SO, todos en cantidad finita).

5-1. Los principales tipos de handles

Los handles que el SO entrega a las apps caen, a grandes rasgos, en las categorías siguientes. Todos tienen un máximo, y una vez alcanzado ese máximo no se puede realizar ninguna operación nueva de ese tipo.

Tipo¿Ticket para qué?Límite típicoComando de observación (ejemplo)
Descriptor de archivo (FD)Uno por archivo o pipe abiertoDe 1 024 a varios millones por proceso (depende de la configuración del SO)Linux: ls /proc/$PID/fd | wc -l
SocketUno por conexión TCP/UDPDe decenas de miles a cientos de miles a nivel de sistemaLinux: ss -s, Win: netstat -an
Lock (mutex / semáforo)La etiqueta «no tocar» que sostiene una sola parte a la vezDe miles a decenas de miles por proceso o sistemalsof, fuser
Handle GUI (Win)Uno por elemento de UI (ventana, cursor, icono, etc.)10 000 por proceso por defectoWin: Get-Process | Sort-Object Handles -Desc

5-2. Qué significa realmente «no puedo abrir nada»

Cuando los handles se fugan, sueles ver síntomas como:

  • Errores «No se puede abrir el archivo» / «Too many open files»
  • El navegador se niega a abrir una nueva pestaña
  • Las conexiones de red fallan todas (porque entre bambalinas has agotado todos los sockets)
  • Un mensaje de «no se puede abrir la ventana» en Windows

A diferencia de las fugas de memoria, el uso de RAM suele verse completamente normal mientras pasa todo esto, así que la gente se confunde: «la memoria está bien, ¿por qué está todo roto?». Síntoma diferente, mismo problema de fondo: «se olvidó devolverlo», igual que en el §4.

Por qué un reinicio lo arregla: cuando un proceso termina, el SO recupera por la fuerza todos los handles que ese proceso tenía. Un reinicio mata todos los procesos, así que todos los contadores de handles se resetean a cero y los recursos finitos del SO quedan completamente libres.

💡 Tip

El folclore de que «los servidores en producción se estabilizan mágicamente si los reinicias cada pocos días» casi siempre es agotamiento de handles o fugas de memoria de este tipo. Una vez encuentras la app culpable puedes funcionar sin reinicios; lo difícil es localizarla, así que no pocos equipos despliegan un cron de «reinicio programado» (si esto es para presumir es otra discusión).

6. Actualizaciones y «archivos en uso» ─ qué significa de verdad «reinicia para aplicar»

Todo el mundo ha visto «Windows Update se ha instalado. Reinicia para completar los cambios». ¿Por qué la actualización no puede terminar sola? Se reduce a una restricción sobre los archivos que el propio SO está usando ahora mismo.

6-1. Bloqueos de archivo ─ no puedes cambiar algo mientras se está ejecutando

El SO tiene un mecanismo llamado bloqueo o lock (el SO pone una etiqueta «en uso, no tocar» a un archivo). La razón es directa: si alguien sobrescribe un documento mientras otro está escribiendo en él, se corrompe.

El truco es que el propio SO (el kernel) y los ejecutables de los servicios residentes también están bloqueados como «en uso» todo el tiempo que el sistema está encendido.

   [en ejecución]
   Archivo del kernel en el SSD ─── bloqueado (no se puede sobrescribir)
            │
            ▼
   Cargado en memoria ─── la CPU está ejecutando estas instrucciones ahora mismo

   ↓ Aunque una actualización traiga un nuevo archivo de kernel…

   Archivo del kernel en el SSD ─── sigue bloqueado
   Nuevo archivo de kernel       ─── aparcado al lado, esperando

Por tanto puedes colocar una nueva versión, pero no puedes cambiar la que se está ejecutando. «Reinicia para completar el cambio» significa:

  1. Detener el kernel antiguo por un momento (apagado)
  2. En el siguiente arranque, hacer que el bootloader cargue el nuevo

En lenguaje Windows va de «crear un momento en el que el cambio esté permitido» mediante un reinicio.

6-2. Cómo difieren Windows / macOS / Linux

SOCasos típicos que exigen un reinicioNotas
Windows 10/11Windows Update mensual, actualizaciones de drivers, actualizaciones del runtime de .NETEl estado «Pending Reboot» es fácil de identificar
macOS«Actualización de macOS» (mayor / menor), actualizaciones de seguridadLa pantalla de actualización asume un reinicio
LinuxActualizaciones de kernel, actualizaciones de piezas centrales como glibc / systemdneeds-restarting (familia RHEL) / /var/run/reboot-required (familia Debian) lo señalan

La razón es la misma en todos los SO: un programa en ejecución no puede sobrescribir sus propios archivos en sitio.

6-3. La excepción ─ live patching (actualizaciones sin reinicio)

En los últimos años existe también el live patching (un mecanismo limitado que reescribe silenciosamente un kernel en ejecución). Los ejemplos principales son:

  • Kernel de Linux: kpatch (Red Hat) / livepatch (Canonical) / Ksplice (Oracle)
  • Windows Server: ciertas correcciones de seguridad pueden aplicarse como hot patches

Dicho esto, no se aplica a actualizaciones arbitrarias. Los cambios de alto riesgo (reescrituras grandes del kernel, cambios de estructuras de datos, etc.) siguen necesitando un reinicio real. Aún no hay magia que gestione todas las actualizaciones sin uno.

💡 Tip

Nuestro artículo compañero ¿Por qué el software no funciona sin instalación? explica cómo el software se vincula al SO en primer lugar. Los archivos ejecutables colocados durante la instalación son precisamente las «cosas que se bloquean» de las que hablamos aquí. Leerlos uno al lado del otro te da una visión 3D de cómo el SO gestiona sus propios archivos.

7. El mundo «sin reinicios» que existe hoy

Hasta ahora nos hemos centrado en por qué hace falta un reinicio. En la nube y en las herramientas modernas de desarrollo, sin embargo, cada vez más situaciones esconden hábilmente el reinicio al usuario. La pregunta natural ─ «los servicios web funcionan 24/7, ¿cuándo se reinician entonces?» ─ es lo que vamos a contestar aquí.

7-1. Cinco enfoques que evitan o esconden un reinicio

EnfoqueTiempo de inactividadAlcanceDónde lo vesEjemplos
Reinicio completoSí (decenas de segundos a minutos)Todo el SOPCs personales / recuperación de emergencia en servidoresOperación normal de Windows / macOS / Linux
Rolling restartNinguno (visto desde fuera)Un servidor a la vez en un parqueServicios web 24/365Kubernetes, AWS Auto Scaling
Recreación de contenedorUnos segundosPor appActualizaciones de apps en la nubeDocker, recreación de pod en Kubernetes
Hot reloadNingunoSolo el código de la appDurante el desarrollo / algunos casos de producciónWebpack HMR, nodemon, modo dev de Rails
Live patchingNingunoPartes del kernelCorrecciones de seguridad en servidores críticoskpatch, Ksplice, livepatch

7-2. Cómo funciona cada uno (con notas en lenguaje llano)

  • Rolling restart ─ ejecutas el mismo servicio en varios servidores y los reinicias uno a uno. El tráfico de los usuarios se enruta hacia las máquinas aún no reiniciadas, así que el servicio en su conjunto sigue funcionando sin interrupciones. La fama de «siempre disponible» de la nube se construye principalmente sobre esto.
  • Recreación de contenedor ─ reconstruir desde cero un contenedor (básicamente una «pequeña habitación portátil» con la app y sus dependencias selladas dentro) entero para actualizar la app. Mucho más rápido que reiniciar todo el SO (unos segundos), y normalmente se combina con rolling restarts.
  • Hot reload ─ la técnica de cambiar código o configuración sin parar el proceso. La experiencia de «guarda el archivo y la página se actualiza al instante» en desarrollo es exactamente esto. El soporte en producción varía mucho según el lenguaje y el framework.
  • Live patching ─ la técnica del §6-3 de reescribir un kernel mientras se está ejecutando. No se aplica a todas las actualizaciones, pero sirve para correcciones limitadas.

7-3. Conclusión ─ «sin reinicios» todavía significa que alguien reinicia en algún sitio

El patrón a estas alturas debería estar claro: incluso los mundos que aparentan «sin reinicios» dependen de que alguien, en algún sitio, reinicie en algún momento. Los servicios en la nube reinician sus parques por turnos vía rolling restart; los contenedores se recrean constantemente.

Y en el sentido inverso: en un PC personal donde sigues usando la misma instalación del SO durante años, los reinicios periódicos son inevitables, incluso hoy. Mejor no tratar al reinicio como villano ─ piénsalo como «una oportunidad para resetear limpiamente el estado del SO».

💡 Tip

Si te interesa el lado nube/servidor, nuestro artículo ¿Qué es una dirección IP? complementa este ─ los rolling restarts dependen de enrutar el tráfico de los usuarios a «una de varias máquinas», que es exactamente de lo que hablan los balanceadores de carga y las direcciones IP.

8. Obsérvalo tú mismo ─ asómate a la memoria y al reinicio en tu propia máquina

Ahora que tienes la teoría, échale un vistazo a tu propia máquina. Uno o dos comandos por SO te dirán cuánta RAM se está usando ahora mismo y cuándo te reiniciaste por última vez.

8-1. Comprobar el uso de memoria

check-memory
# Windows (PowerShell) ─ los 5 procesos con mayor uso de memoria
Get-Process | Sort-Object WS -Descending | Select-Object -First 5 Name, @{n=\u0022RSS_MB\u0022;e={[math]::Round($_.WS/1MB,1)}}

# macOS ─ estadísticas de memoria a nivel de sistema
vm_stat

# Linux ─ memoria en formato legible
free -h

8-2. Comprobar la hora de arranque (cuándo te reiniciaste por última vez)

La pregunta «¿cuándo me reinicié por última vez de verdad?»:

check-uptime
# Windows (PowerShell) ─ hora de arranque
(Get-CimInstance -ClassName Win32_OperatingSystem).LastBootUpTime

# macOS / Linux ─ cuánto tiempo lleva encendida
uptime

uptime imprime «hora actual, tiempo desde el arranque, usuarios conectados y cargas medias» en una sola línea. En un servidor Linux, un uptime de cientos de días a veces es señal de aviso del tipo «¿has estado aplicando actualizaciones de seguridad?» (una operación sana suele preferir reinicios periódicos).

8-3. Comprobar contadores de handles (avanzado)

¿Curiosidad por los handles del §5? Puedes consultar contadores en vivo así:

# Linux ─ descriptores de archivo en uso a nivel de sistema
cat /proc/sys/fs/file-nr

# Windows (PowerShell) ─ los 5 procesos con más handles
Get-Process | Sort-Object Handles -Descending | Select-Object -First 5 Name, Handles

Si los contadores no dejan de subir y nunca bajan, es una señal clara de fuga.

Resumen ─ la esencia en cuatro líneas

El artículo es largo, pero la esencia se reduce a cuatro líneas:

  • Reinicio = reconstruir desde cero la memoria volátil y el estado del SO ─ la RAM se vacía físicamente, así que todo el estado desaparece
  • Necesitas un reinicio por tres cosas: fugas, agotamiento de handles y archivos en uso ─ ninguna se resuelve mientras un proceso siga vivo
  • «Apagar y luego encender» no es lo mismo que «reiniciar» en Windows 10/11 ─ elige «Reiniciar» cuando de verdad necesites un estado limpio
  • La nube esconde inteligentemente los reinicios tras rolling restarts y contenedores ─ en un PC personal, los reinicios periódicos siguen siendo una práctica saludable

Una vez interiorices este marco, «¿por qué esto se está portando mal y por qué un reinicio lo arregla?» se convierte en la misma lente para PCs, móviles y servidores.

Para los cimientos del lado de red ve ¿Qué es una dirección IP?, y para el saludo entre el software y el SO ve ¿Por qué el software no funciona sin instalación?. Combinado con el ángulo de «el estado que el SO acumula» de este artículo, tienes una visión bastante completa de lo que ocurre dentro de tu ordenador.

FAQ

Q1. ¿En qué se diferencian suspender, hibernar y reiniciar?

A. Se diferencian en dónde se guarda el estado y en si obtienes el «efecto reinicio». La suspensión mantiene la RAM con corriente y solo pausa la CPU y la pantalla ─ el contenido sigue intacto, así que despiertas en segundos, pero no se resetea nada del estado del SO (el fallo sigue ahí). La hibernación escribe el contenido de la RAM en un archivo del SSD y se apaga; en el siguiente arranque ese archivo se restaura a la RAM, así que el estado vuelve igualmente (sigue habiendo fallo). Apagar y luego encender en Windows 10/11 guarda el estado de hibernación del kernel vía Inicio rápido, así que en realidad no es un arranque en frío limpio (ver §3-2). Solo Reiniciar omite Inicio rápido y recorre todas las fases, vaciando físicamente la RAM y reseteando todo el estado. Si tu objetivo es arreglar algo raro, simplemente elige «Reiniciar».

Q2. ¿Si añado más RAM, podré dejar de reiniciar?

A. No, eso no es una solución real. Más RAM solo te da más tiempo antes de que notes una fuga ─ la fuga en sí no se detiene. Peor aún, la fuga puede pasar desapercibida lo bastante como para que la E/S de swap te coma el rendimiento sin que te enteres, y un día la máquina simplemente se cae. Tener RAM de sobra es un «seguro», no una «solución».

Q3. ¿De verdad existen servidores que no se reinician en cientos de días?

A. Mitad verdad, mitad un poco engañoso. Sí, hay servidores individuales con un uptime de más de 1 000 días. Pero en operaciones en la nube modernas, de hecho se recomiendan los reinicios deliberados periódicos (para aplicar actualizaciones de seguridad de manera fiable, resetear fugas latentes y agotamiento de handles, detectar deriva de configuración, etc.). La sensación de «siempre disponible» de un servicio se logra con el enfoque de rolling restart del §7-1, donde los servidores individuales sí se reinician de forma regular mientras el servicio en su conjunto sigue atendiendo tráfico. Dicho de otro modo, «la aplicación nunca se cae» y «la instancia del SO nunca se reinicia» son cosas distintas.

Q4. ¿Reiniciar a menudo desgasta mi máquina?

A. Para uso normal, básicamente no. En la era de los HDD había cierta preocupación por el desgaste mecánico, pero los SSD modernos eliminan prácticamente esa preocupación. Lo que sí debes evitar es mantener pulsado el botón de encendido para forzar un apagado bruto ─ eso se salta el sync del FS (fase 3 del §3-1) y arriesga corrupción de archivos. Elegir «Reiniciar» de la forma correcta es seguro incluso si lo haces a diario.

Q5. He oído que los Mac apenas necesitan reiniciarse, ¿es cierto?

A. Mitad de razón. macOS tiene un bloqueo de archivos más laxo, así que las actualizaciones de apps a menudo no necesitan reinicio, las actualizaciones de kernel sí lo siguen exigiendo, y su gestión de memoria agresiva (memoria comprimida, etc.) oculta mejor la presión de RAM, así que «notas la necesidad de reiniciar» menos que en Windows. Dicho esto, las fugas de memoria y el agotamiento de handles ocurren en todos los SO, así que «los Mac nunca necesitan reinicio» es exceso de confianza. Si algo te da mala espina, reinicia tranquilamente.

Comments

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *