한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Guia do Lag em Jogos › L11 Disco

Gravação de core dump Core dump writing

ID da causa dk-coredump · Responsável principal Infraestrutura de servidores (Equipe de infraestrutura) · Também envolvidos Desenvolvimento do servidor (Equipe de desenvolvimento)

Abrir o card interativo, com figuras e simulações →

Quando o servidor cai, gravar no disco vários GB de memória pode atrasar o reinício em vários minutos.

Por quê Com o crash do servidor, a memória inteira é gravada em arquivo → Efeito Não dá para reiniciar enquanto vários GB são gravados → Na tela Depois da queda do servidor e da desconexão, o jogo não conecta por um bom tempo

Sintomas
Não conecta / loading infinito
Fatores
Paralisação
Quem é afetado
Servidor inteiro
Quando
Aleatoriamente, de vez em quando
Responsável
Responsável principal Infraestrutura de servidores (Equipe de infraestrutura) · Também envolvidos Desenvolvimento do servidor (Equipe de desenvolvimento)
O que fazer (Equipe de desenvolvimento)
Avaliar dumps pequenos, só com a memória necessária (minidump), corrigir a causa do crash.
O que fazer (Equipe de infraestrutura)
Limitar o tamanho do dump (configuração de core dump do SO), usar disco rápido, separar o reinício do dump (comprimir e enviar o dump à parte, depois do reinício).
No gráfico
Queda de conexões em massa · Número de conexões, horário de reinício do servidor
Onde olhar
Colocar lado a lado o horário do crash, o tamanho do arquivo core (coredumpctl list e info, ou o arquivo no local indicado por core_pattern), o horário em que o arquivo terminou de ser gravado e o horário em que o serviço voltou, e ver o wkB/s do iostat -x nesse intervalo
Confirma se
Depois do crash, a escrita em disco fica perto do limite enquanto o arquivo core de vários GB é gravado, e o reinício só começa quando a gravação termina
Descarta se
Core dump desligado ou pequeno, mas o reinício demora: etapa de inicialização do servidor, como carregamento de mapas ou cache frio do BD (db-cold-cache)
Como verificar
Ferramentas de infra (sem precisar do código do jogo)

Fontes

  1. core(5) — Linux manual page Linux man-pages
    RLIMIT_CORE limita o tamanho do arquivo core, coredump_filter escolhe as áreas de memória incluídas, e o core dump pode ser enviado por pipe a um programa e processado à parte
  2. Minidump Files Microsoft
    O minidump guarda só a parte útil das informações do crash dump, para ser rápido e pequeno
  3. coredumpctl(1) — Linux manual page systemd
    list: lista dos core dumps registrados no journal (TIME é o horário do crash informado pelo kernel); info: detalhes de cada dump e tamanho gravado no disco
  4. iostat(1) — Linux manual page sysstat
    -x: wkB/s (volume gravado no disco por segundo)

Veja também

Mesma camada: L11 Disco

Mesmo sintoma (Não conecta / loading infinito) em outras camadas

Ver o card interativo, com figuras e simulações