Watch at EaseHistorias. Respuestas. Perspectiva.

Tecnología · GUÍA PRÁCTICA

¿El contenedor salió con 137 o dice «OOMKilled»? Demuestra el límite de SIGKILL antes de aumentar memoria

El 137 indica que el proceso recibió SIGKILL, no quién lo envió. Correlaciona runtime, cgroup, nodo y orquestador en la misma ventana antes de cambiar límites.

Diagrama que conecta runtime, cgroup, kernel del nodo y orquestador alrededor del código 137
Ilustración conceptual: el 137 se vuelve diagnóstico al correlacionar las cuatro capas. Watch at Ease

El código de salida es una pista, no una causa raíz. El 137 suele representar SIGKILL, pero el proceso no puede informar al emisor. OOMKilled es evidencia fuerte solo si pertenece al mismo intento y ventana.

Antes de cambiar memoria, crea un registro con tiempo y compara la terminación del runtime, contadores cgroup, kernel del nodo y eventos del orquestador. Acepta el diagnóstico si las capas coinciden o si preservas explícitamente el desacuerdo.

1. Fija una ventana del incidente

Registra el intento exacto, nodo, horas, código, señal, motivo del runtime y última acción. Un reinicio puede sustituir el estado.

Normaliza tiempos y conserva la salida original. No mezcles contadores actuales con logs antiguos u otra réplica.

2. Trata 137 como evidencia de SIGKILL

Enumera emisores posibles: OOM del kernel, operador, automatización, tiempo límite del runtime, gracia del orquestador u otro proceso privilegiado.

Vincula OOMKilled al mismo intento. Si es false o falta, mantén OOM como hipótesis.

3. Localiza la frontera de memoria

Identifica el cgroup y límite reales; guarda memory.max, uso, memory.events e incrementos en la hoja y ancestros.

Un aumento de oom_kill en la hoja respalda esa frontera; OOM del nodo respalda una más amplia. Sin incremento, sigue probando.

4. Correlaciona nodo y orquestador

Lee logs y eventos de los mismos segundos: presión, desalojo, eliminación, fallo de sonda, despliegue, drenaje o fin de gracia.

Registra lo ausente como ausente. Logs restringidos o rotados reducen confianza; no convierten una suposición en hecho.

5. Corrige la frontera demostrada

Para OOM del contenedor mide conjunto de trabajo, picos y concurrencia. Para presión del nodo, escalada o muerte externa corrige capacidad, cierre o emisor.

Reproduce con carga controlada y acepta solo sin incremento oom_kill, OOM de nodo ni escalada inexplicada, y con terminación esperada.

Diagrama que separa OOM de contenedor, OOM de nodo, escalada y SIGKILL externo
Ilustración conceptual: sigue la evidencia coincidente y cambia solo la frontera que causó la muerte. Watch at Ease