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.

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.
