ID de la causa dk-coredump · Responsable principal Infraestructura de servidores (Equipo de infraestructura) · También Desarrollo de servidor (Equipo de desarrollo)
Cuando el servidor se cae, escribe en disco varios GB de memoria, y eso puede retrasar el reinicio varios minutos.
Por qué Un crash del servidor escribe toda su memoria en un archivo → Efecto No se puede reiniciar mientras se escriben varios GB → En pantalla Desconexión por la caída del servidor y, después, no se puede conectar durante un buen rato
Responsable principal Infraestructura de servidores (Equipo de infraestructura) · También Desarrollo de servidor (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Valorar volcados pequeños que solo incluyan la memoria necesaria (minidumps), corregir la causa del crash.
Tareas (Equipo de infraestructura)
Limitar el tamaño del volcado (configuración de core dump del SO), usar discos rápidos, separar el reinicio del volcado (comprimir y subir el volcado aparte, después del reinicio).
En el gráfico
Desconexión masiva · Número de conexiones, hora de reinicio del servidor
Dónde mirar
Poner lado a lado la hora del crash, el tamaño del archivo core (coredumpctl list e info, o el archivo en la ruta que indica core_pattern), la hora en que terminó de escribirse y la hora en que el servicio volvió a arrancar, y revisar wkB/s de iostat -x durante ese intervalo
Se confirma si
Tras el crash, la escritura en disco se mantiene cerca del límite mientras se escribe un archivo core de varios GB, y el reinicio solo empieza cuando termina la escritura
Se descarta si
Si el core dump está desactivado o terminó siendo pequeño y aun así el reinicio tarda, apunta al proceso de arranque del servidor, como la carga de mapas o la caché fría de la BD (db-cold-cache)
Se verifica con
Con herramientas de infraestructura (no hace falta código del juego)
Fuentes
core(5) — Linux manual pageLinux man-pages RLIMIT_CORE limita el tamaño del archivo core, coredump_filter elige qué regiones de memoria incluir, y el core dump se puede canalizar (pipe) a un programa para procesarlo aparte
Minidump FilesMicrosoft Un minidump solo guarda la parte útil de la información del volcado del crash, así que es rápido de generar y pequeño
coredumpctl(1) — Linux manual pagesystemd list: lista de core dumps registrados en el journal (TIME es la hora del crash que notificó el kernel); info: detalles de cada volcado y el tamaño escrito en disco