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.)