Fuga de memoria
Una fuga de memoria en SysAdmin Crisis: un proceso en una máquina que nunca devuelve la memoria. Aprende su firma y cómo distinguirla.
Última actualización:
La fuga es el incidente más silencioso del catálogo. Nada se dispara, nada se desborda: un único proceso en una única máquina simplemente deja de devolver memoria.
Qué hace
La RAM de una máquina sube a lo largo de minutos, no de segundos. Cuando llega al límite, el OOM killer empieza a llevarse procesos, lo que en sí mismo es una caída del servicio. Cuando ya no queda nada que llevarse, la máquina pasa a DOWN.
El detalle importante es que esto es local. Afecta a una máquina y afecta a la RAM: no al ancho de banda, no al disco, no a la flota.
La firma en el log
El porcentaje de memoria sube primero en monit; cuando llega al límite, el kernel invoca al OOM killer. El registro del OOM dice quién invocó al killer, no el PID del proceso que tiene la fuga:
02:41:08 web-02 monit[601]: 'web-02' mem usage of 80% matches resource limit [mem usage > 75.0%]
02:43:52 web-02 monit[601]: 'api-worker' mem usage of 38% matches resource limit [mem usage > 25.0%]
02:45:10 web-02 kernel: nginx invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=0
free muestra el panorama general, y top muestra qué proceso está creciendo. Ordena la lista de procesos por uso de memoria; el proceso con la fuga puede no ser el que aparece nombrado en el registro del OOM.
Si lo dejas
El OOM killer recorre la lista de procesos en orden, así que pierdes funciones pieza a pieza antes de perder la máquina. Como la máquina pasa a CRIT y luego a DOWN, el costo en disponibilidad no llega como una penalización separada sino a través del estado del servidor, más la deuda de SLA una vez que pasa el periodo de gracia.
Cómo distinguirlo
| Se parece a | Qué lo distingue |
|---|---|
| Inundación DDoS | Una inundación eleva la CPU y el ancho de banda en las máquinas web; una fuga eleva la RAM en exactamente una. |
| Disco lleno | Ninguno se dispara, ambos avanzan sigilosamente; pero uno es RAM y el otro es un punto de montaje. df lo resuelve en una línea. |
| Tarea descontrolada | Ambas nombran un proceso en la salida de top. Una tarea descontrolada acapara la CPU; una fuga hace crecer la memoria. |
Cuándo aparece
| Noche más temprana | 2 |
| Necesita | una máquina web |
| Peso | 100, empatado con los incidentes más probables del juego |
| A la vez | una instancia |