Falha no Rebake: como diagnosticar e corrigir?

O uso de memória é muito maior durante uma reconstrução do que durante a operação normal. Parece que o “rebaking” (reprocessamento), de forma semelhante, exige muito. Se for esse o caso, qualquer tipo de monitoramento regular não agregaria muito valor: o monitoramento seria necessário durante esses picos, que felizmente ocorrem quando o administrador realiza alguma ação específica.

Quando eu estava rodando em uma configuração de máquina menor e mais marginal, eu costumava deixar uma segunda janela de terminal aberta, conectada via ssh ao meu servidor e executando
vmstat 5
o que fornece um registro do uso de memória à medida que ele sobe e desce. Observe a coluna swpd e compare com o seu espaço de swap configurado. Comumente a falha ocorrerá de repente, não gradualmente, então mesmo observar tendências de curto prazo não ajuda muito.

Se você tiver espaço em disco, não há mal algum em ter muito swap — metade da RAM, ou até mesmo o mesmo que a RAM. Ele está lá neste caso para lidar com os picos. Você não quer ver atividade de swapping/paging durante o uso normal. Novamente, pode-se usar vmstat 5 5 para obter uma visão de curto prazo da atividade de paginação (nas colunas si e so).

Aqui está um exemplo:

# vmstat 5 5
procs -----------memory----------   ---swap--  -----io---- -system--  ------cpu-----
 r  b   swpd   free   buff  cache     si    so    bi    bo   in    cs us sy id wa st
 3  0 1392140  61200  11632  76432    41    32   117    93    0     1  2  1 97  0  0
 1  1 1467220  63416    324  67284  8786 20499 13178 20567 2539  8924 77 13  0 10  0
 0  2 1593340  57916   1096  53832 24262 46868 29986 46889 5377 18534 44 22  0 34  0
 4  0 1155632 120680   2772  86280 39111 35424 54768 37824 6987 25174 38 27  0 35  0
 3  0 1102988  74096   2852  85276 11261   246 12610   271 1879  6365 86  6  0  8  0

Você vê que a coluna swpd atingiu o pico em mais de 1,5G, em comparação com os meus 2,0G configurados. Você vê que a atividade de swapout (so) atingiu o pico na mesma janela de 5 segundos, e o swapin (si) atingiu o pico na janela seguinte.

(Edição: Eu posso ver que eu tinha 2,0G de swap configurado porque eu havia executado free anteriormente:

# free
              total        used        free      shared  buff/cache   available
Mem:        1009140      696504       78544       51784      234092      118436
Swap:       2097144      154628     1942516

nós também vemos que eu estava na época conseguindo rodar o discourse com apenas 1G de RAM.)

1 curtida