Ocasionalmente carga de CPU muito alta

Ocasionalmente, tenho uma carga de CPU muito alta. Geralmente a operação é muito suave, mas então há esses picos de carga total de CPU. Enquanto isso acontece, o fórum dá erros 502 ou é MUITO lento. Tenho um servidor Hetzner com 3 vCPUs e 4 GB de RAM.

Alguém tem uma ideia do que pode causar isso?

Esta é a aparência do console no backend da Hetzner:

Você pode executar htop ou similar no servidor para identificar o nome do processo que está causando a alta carga de CPU?

Um processo periódico está em execução. Você tem swap? Você está ficando sem memória. Eu adicionaria 2 a 4 GB de swap.

1 curtida

Tive que esperar para capturar um evento de CPU alta. Executei o htop e tirei algumas capturas de tela (nunca usei antes, então não sei o que estou olhando).

Esta é a primeira coisa a fazer.

2 curtidas

Aqui, troca não é uma boa opção, você está perigosamente perto de grandes problemas.

1 curtida

@GeorgSeifert você conseguiu resolver seu problema?

Se adicionar swap for a solução, por favor, marque a postagem de @pfaffman como a solução. É o botão no menu da postagem que parece um quadrado com uma marca de seleção.

Eu tentei um servidor diferente que tem mais RAM, mas CPU mais lenta e é mais barato. Vou monitorar isso por alguns dias.

Você adicionou swap? Isso é essencial.

Eu pensei que o dobro da RAM física seria suficiente por enquanto.
A página do Discourse diz que um servidor com 1-2 MB de RAM é suficiente para executá-lo. Então pensei que estaria seguro com 4 MB? Agora tem 8.
Não tenho certeza se o nosso fórum tem muito tráfego (acabei de verificar os Relatórios e diz 15 usuários logados e 1000 não logados).

É suficiente — sem plugins e poucas outras coisas, como usuários e um administrador/moderador ativo. Esse é o mínimo absoluto e até mesmo o fórum em si pode funcionar, a reconstrução falhará.

Temos aqui alguns tópicos sobre essa questão e um tipo de consenso é que 2 MB são suficientes para fóruns pequenos, se houver swap também.

1 curtida

@pfaffman me lembre.. o comando ./discourse-setup não cria o arquivo de swap automaticamente?

@GeorgSeifert você seguiu as instruções oficiais de instalação para configurar seu site? Se não, será difícil para nós te apoiarmos aqui. Como todos estão te dizendo, você precisa ter um arquivo de swap, não importa quanta memória você tenha, caso contrário, você terá dificuldades.

Muitas vezes, você ainda precisa de swap, mesmo com o que deveria ser mais do que memória suficiente. Acho que porque os processos veem que mais RAM está disponível e eles a pegam e, quando mais RAM é necessária, eles não conseguem ser trocados rápido o suficiente.

Ele cria, mas apenas se você tiver 2 GB ou menos.

Ele provavelmente seguiu a instalação padrão. Não está claro por que ele está ficando sem RAM, mas é o caso. Há alguma chance de que adicionar RAM real resolva o problema.

Eu acabei de fazer o que a página de instalação me disse.

Então, como verifico se tenho swap habilitado ou não?

Execute o comando free -h

Suas imagens do htop mostram 0 de swap.

1 curtida

Eu realmente não tenho swap.

Pode haver algo de errado com minha instalação que está usando muita memória?

Aumentar a RAM parece ter resolvido por enquanto.

Se você tivesse swap, como deveria ter, não precisaria de tanta RAM.

Note que instalações e atualizações exigem muito mais memória do que a operação normal. memória = swap + RAM.

1 curtida