From 8c1378cb1fded1c718863053fd45b1b9776dd123 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 8 Sep 2026 14:17:21 +0000 Subject: [PATCH] =?UTF-8?q?cazador:=20evidencia=20a=20favor=20de=20la=20hi?= =?UTF-8?q?p=C3=B3tesis=20de=20presi=C3=B3n=20de=20memoria?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Al montar otro banco, la carga estaba en 3,34 (contra 0,13 de las cuatro cazas) porque otro agente arrancó un cargo, y kswapd0 consumía CPU con CERO memoria libre: recuperación de páginas bajo presión. Cada corrida mapea un libxul de 227 MB. Es exactamente la condición que las cazas NO tenían y que los dos bancos con cuelgues SÍ. No es prueba —el estado de aquellas ventanas no se reconstruye— pero es la primera pista concreta, y cambia dónde buscar: cazar BAJO PRESIÓN de memoria, no con la máquina ociosa. --- scripts/diagnostico/cazar-cuelgue-headless.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/scripts/diagnostico/cazar-cuelgue-headless.sh b/scripts/diagnostico/cazar-cuelgue-headless.sh index ced34462..2e7af34b 100755 --- a/scripts/diagnostico/cazar-cuelgue-headless.sh +++ b/scripts/diagnostico/cazar-cuelgue-headless.sh @@ -28,6 +28,15 @@ # · Sobrevive la hipótesis que no se puede probar retroactivamente: contención transitoria de otra # cosa en la máquina (es compartida con otros agentes) durante esas dos ventanas. # +# ⚠ EVIDENCIA A FAVOR DE ESA HIPÓTESIS, VISTA DESPUÉS (2026-09-08): al ir a montar OTRO banco, la +# carga estaba en 3,34 (contra 0,13 de las cazas) porque otro agente había arrancado un `cargo`, +# y `kswapd0` aparecía consumiendo CPU con CERO memoria libre — o sea recuperación de páginas +# bajo presión. Cada corrida mapea un `libxul` de 227 MB; con la caché apretada, eso es +# exactamente la condición que las cuatro cazas NO tenían y que los dos bancos con cuelgues SÍ. +# No es prueba —no se puede reconstruir el estado de aquellas dos ventanas— pero es la primera +# evidencia que apunta a algo concreto: **cazar bajo presión de memoria, no con la máquina +# ociosa**. Se puede forzar corriendo el cazador mientras algo grande compila. +# # ══ PARA QUÉ SIRVE ENTONCES ════════════════════════════════════════════════════════════════════ # Para que la PRÓXIMA vez que aparezca, se capture en el acto en vez de empezar de cero: `wchan`, # `syscall` y `state` de cada proceso (distinguen espera de disco de espera de lock), memoria y