Exigences élevées en mémoire pour la reconstruction : édition avril 2025

Ok, prochain test terminé.

J’ai compilé avec les plugins suivants :

https://github.com/discourse/docker_manager.git
https://github.com/discourse/discourse-data-explorer
https://github.com/communiteq/discourse-legal-compliance
https://github.com/pfaffman/discourse-allow-pm-to-staff
https://github.com/singerscreations/discourse-stopforumspam
https://github.com/discourse/discourse-cakeday

La mémoire d’échange (swap) était désactivée, donc seulement 4 Gio/3,8 Go de RAM.

L’utilisation maximale de la mémoire pendant la compilation était de 3,4 Go. Le temps de compilation était de 6 min 48 s.

4 « J'aime »

En route, le problème est le fichier swap, après l’avoir augmenté de 0 à 2 Go, tout va bien pour l’instant.

sudo fallocate -l 2G /swapfile        
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

dans le terminal de votre serveur. Après cela, reconstruisez.

2 « J'aime »

Je rencontre une augmentation importante de la mémoire nécessaire pour la reconstruction. J’ai 8 Go de mémoire et même en ajoutant un fichier d’échange (swapfile) de 8 Go, il manque d’espace à cette étape : cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate

Il s’agit d’une installation multisite avec quatre forums. Je n’avais pas eu besoin d’ajouter de fichier d’échange auparavant.

édition J’ai maintenant essayé avec un swap de 16G et il manque toujours de mémoire.

Ceci se passe sous Linux, avec un minimum de plugins activés.

2 « J'aime »

Hmm… Je me demande si la documentation devrait être mise à jour pour refléter des exigences de mémoire plus élevées ? Est-ce que Introducing pre-compiled JS assets for self-hosters a aidé à diminuer le chargement ? J’aurais pensé qu’avec ce changement, moins de RAM serait nécessaire :thinking: .

Cela fait peut-être quelques mois que je n’ai pas fait de reconstruction, mais tout allait bien avant avec 8 Go de RAM et pas de swap. Je n’ai toujours pas résolu ce problème et donc les quatre sites sont hors service.

Je ne sais pas si cela est lié, mais cela ne voulait pas compiler tant que je n’avais pas défini la variable d’environnement HOME: /var/www/discourse - sinon il essayait d’écrire dans /root et obtenait un refus de permission.

Hmm, je vois plus d’une centaine de ces processus :

node /usr/bin/pnpm add pnpm@10.28.0 --loglevel=error --allow-build=@pnpm/exe --no-dangerously-allow-all-builds --config.node-linker=hoisted --config.bin=bin

Est-ce une sorte de bombe à fragmentation ?

1 « J'aime »

Ajoutez certainement BEAUCOUP d’espace de permutation, même si c’est juste pour vous remettre sur pied. L’avantage d’utiliser l’espace de permutation ici est que les builds sont un pic temporaire.

J’utilise la configuration à deux conteneurs et la mémoire est encore plus sous pression pendant l’amorçage car vous avez également deux conteneurs en cours d’exécution. :sweat_smile:

J’ai ajouté 40 Go de swap maintenant et ce n’est pas suffisant.

Je vois des centaines de ces processus de nœud, ce qui semble être le problème ?

Je commence à penser que la cause profonde est la même que mon problème précédent où je devais définir HOME: /var/www/discourse sinon il essayait d’écrire des fichiers sous /root. Je ne sais cependant pas quoi faire à ce sujet.

2 « J'aime »

D’accord, quelque chose ne va vraiment pas. J’envisagerais également de sauvegarder et de recréer à partir de zéro.

1 « J'aime »

Comment procéderais-je pour cela ?

Voir :

Merci, je pense que je vais d’abord revenir à un état stable connu pour l’ensemble du serveur et effectuer une sauvegarde à partir d’un système fonctionnel.
Quelqu’un a-t-il des idées sur ce qui aurait pu mal tourner ?

1 « J'aime »

Le problème venait effectivement du fait que HOME n’était pas correctement défini. L’ajout de -H à la commande sudo pour la migration multisite a résolu le problème, comme détaillé ici :

6 « J'aime »