Estou enfrentando um grande aumento na memória necessária para reconstruir. Tenho 8GB de memória e, mesmo adicionando um arquivo de troca (swapfile) de 8GB, ele fica sem espaço nesta etapa: cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate
É uma instalação multisite com quatro fóruns. Eu não precisei adicionar um arquivo de troca antes.
edite Agora tentei com 16G de troca e ainda está ficando sem memória.
Hmm… Eu me pergunto, a documentação deveria ser atualizada para refletir requisitos de memória mais altos? O Introducing pre-compiled JS assets for self-hosters ajudou a diminuir o carregamento? Eu teria pensado que com essa mudança, menos RAM seria necessária .
Pode ter passado alguns meses desde que fiz uma reconstrução, mas estava tudo bem antes com 8GB de RAM e sem swap. Eu ainda não resolvi isso e, por isso, todos os quatro sites estão fora do ar.
Não sei se isso está relacionado, mas não compilava até que eu definisse a variável de ambiente HOME: /var/www/discourse — caso contrário, ele tentava escrever em /root e recebia permissão negada.
Adicione definitivamente MUITO espaço de troca (swap), mesmo que seja apenas para que você volte a funcionar. A vantagem de usar swap aqui é que as compilações são um pico temporário.
Eu uso a configuração de dois contêineres e a memória fica ainda mais sob pressão durante a inicialização, pois você também tem dois contêineres em execução.
Estou vendo centenas desses processos de nó, isso parece ser o problema?
Estou começando a pensar que a causa raiz é a mesma do meu problema anterior, onde eu tinha que definir HOME: /var/www/discourse, caso contrário, ele tentaria gravar arquivos em /root. Não sei o que fazer a respeito, no entanto.
Obrigado, acho que vou reverter o servidor inteiro para um estado conhecido como bom pela última vez e fazer backup a partir de um sistema funcional.
Alguém tem ideias sobre o que pode ter dado errado?
O problema era de fato com o HOME não estar configurado corretamente, adicionar -H ao comando sudo para a migração multisite resolveu, conforme detalhado aqui: