Cómo rastreé una fuga de memoria de 36GB en un servidor de Claude Code

Cómo rastreé una fuga de memoria de 36 GB en un servidor Node.js usando sql.js. El GC no limpia buffers WASM: solución con snapshots de heap.

22 jun 2026 • 4 min de lectura • Equipo Q2BSTUDIO

Depurando una fuga de memoria nativa en Node.js y WebAssembly

Diagnosticar fugas de memoria en entornos de producción basados en Node.js es una de las tareas más complejas a las que se enfrenta un equipo de ingeniería, especialmente cuando los síntomas no responden a las herramientas convencionales. Un servidor que ejecuta agentes de inteligencia artificial —como los empleados en plataformas de Claude Code— puede consumir silenciosamente decenas de gigabytes hasta que el sistema operativo termina por abortar el proceso. En ese punto, cualquier equipo de software a medida necesita una metodología forense clara para identificar la causa raíz sin depender de soluciones superficiales.

El primer error común es asumir que el crecimiento de la memoria residente (RSS) se origina en el heap de JavaScript. Cuando se mide process.memoryUsage() y se observa que heapTotal permanece estable mientras external y arrayBuffers se disparan, la conclusión es inmediata: la fuga no está en objetos JS gestionados por el recolector de basura, sino en buffers nativos alojados fuera del ámbito de V8. Esto invalida por completo el uso de flags como --max-old-space-size, que solo acotan el espacio de objetos viejos, no la memoria externa. Para un equipo de desarrollo que construye ia para empresas, comprender esta distinción es crítico, porque muchos módulos que integran WebAssembly, bases de datos embebidas o bindings nativos operan precisamente en ese territorio.

En un caso real, un servidor Node.js que actuaba como proxy para un proceso MCP —usando sql.js, una compilación a WebAssembly de SQLite— empezó a acumular unos 36 GB de RSS en seis semanas. El heap de JavaScript apenas alcanzaba 24 MB. La herramienta que reveló el origen fue una captura de heap (heap snapshot) tomada desde el inspector de Node. El snapshot resultó tener solo 18 MB, lo cual ya era una pista: un gráfico pequeño que retiene muchos bytes indica unos pocos buffers enormes. Efectivamente, aparecieron 203 objetos JSArrayBufferData de 11 MB cada uno, idénticos al tamaño de la base de datos en disco. La cadena de retención señalaba directamente al sistema de archivos en memoria de Emscripten (MEMFS): cada vez que se abría la base de datos sin cerrarla explícitamente, se creaba un archivo temporal dbfile_<random> dentro de ese sistema de archivos WASM. Al descartar el objeto JavaScript contenedor, el recolector de basura liberaba el wrapper, pero no el archivo MEMFS, que seguía ocupando espacio.

La lección fundamental es que el recolector de basura no gestiona memorias gestionadas por WebAssembly, módulos nativos ni addons. Cualquier recurso que requiera una liberación explícita —close(), free(), unlink()— debe invocarse en el código, o se acumulará indefinidamente. Esto es especialmente relevante en arquitecturas que combinan servicios cloud AWS y Azure con procesos de larga duración, donde una fuga silenciosa puede disparar costos de infraestructura antes de que se detecte el fallo.

Para contener el problema mientras se implementa la corrección definitiva, se añadió un watchdog de RSS que monitoriza /proc/<pid>/status y reinicia el proceso hijo cuando supera un umbral, sin interrumpir peticiones activas. La solución estructural consistió en cachear la instancia de la base de datos por ruta, evitando crear un nuevo SQL.Database en cada operación. Además, se documentó el fallo y se envió un parche al repositorio upstream, demostrando que cuando se trabaja con aplicaciones a medida, la capacidad de llegar hasta la causa raíz y compartirla con la comunidad multiplica el valor del software.

Otro descubrimiento colateral fue la corrupción de la base de datos tras los OOM-kills. SQLite en modo WAL escribe en tres archivos: el principal, el -wal y el -shm. Copiar solo el .db produce el error 'database disk image is malformed'. La recuperación requirió reconstruir manualmente las páginas del WAL, una tarea que combina conocimientos de formato interno de SQLite y scripts de bajo nivel. Para cualquier empresa que ofrezca servicios de inteligencia de negocio o power bi, tener procesos de backup robustos que contemplen todos los archivos del motor de base de datos es indispensable para evitar pérdidas de datos críticos.

En Q2BSTUDIO, entendemos que los problemas de memoria en producción rara vez tienen una causa única. Nuestro enfoque en ia para empresas y software a medida incluye auditorías de rendimiento, implementación de monitoreo granular y diseño de arquitecturas que separan claramente las responsabilidades de gestión de memoria. También ayudamos a nuestros clientes a adoptar servicios cloud AWS y Azure con prácticas de escalado automático y watchdogs personalizados, y ofrecemos ciberseguridad para asegurar que las fugas no deriven en brechas de datos. La combinación de servicios inteligencia de negocio con herramientas como Power BI permite visualizar métricas de memoria en tiempo real y detectar patrones anómalos antes de que se conviertan en incidentes.

En resumen, rastrear una fuga de 36 GB requiere una mentalidad forense, herramientas de snapshot y la disposición a modificar dependencias de terceros. La experiencia demuestra que, con el enfoque adecuado, cualquier equipo puede transformar un problema crítico en una mejora duradera para su plataforma. Si tu organización enfrenta desafíos similares o desea fortalecer sus aplicaciones con agentes IA y automatización de procesos, en Q2BSTUDIO estamos listos para colaborar.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.