Pour les serveurs avec 4 Go de RAM ou moins, l’exécution de
./discourse-setupdemandera et créera automatiquement un fichier d’échange (swapfile) de 2 Go.
La plupart des fournisseurs de machines virtuelles cloud ne configurent pas de fichiers d’échange dans le cadre de leur provisionnement de serveur.
En particulier, la mise à niveau de Discourse génère une forte pression sur la mémoire. Avec un fichier d’échange, au lieu de terminer aléatoirement des processus avec une erreur de manque de mémoire (out of memory), les choses ralentiront. Avoir un fichier d’échange est une police d’assurance peu coûteuse qui vous protège contre de nombreuses autres pannes liées à la charge.
Cela peut être fait à tout moment depuis la ligne de commande sur votre serveur.
Configurer un fichier d’échange de 2 Go
Nous recommandons un fichier d’échange de 2 Go pour Discourse, à moins que votre serveur ne dispose de plus de 4 Go de mémoire.
Dans le shell que vous avez ouvert sur votre droplet, faites ce qui suit :
Vous devrez être root pour une grande partie de ceci, soyez donc root ou exécutez
sudo -savant d’exécuter ces commandes ! N’oubliez pas de quitter le mode root par la suite.
-
Créer un fichier d’échange vide
install -o root -g root -m 0600 /dev/null /swapfile -
Allouer un fichier de 2 Go nommé ‘swapfile’
fallocate -l 2G /swapfile -
Indiquer à linux que c’est le fichier d’échange :
mkswap /swapfile -
L’activer
swapon /swapfile -
L’ajouter à la table du système de fichiers pour qu’il soit présent après le redémarrage :
echo "/swapfile swap swap auto 0 0" | tee -a /etc/fstab -
Définir la swappiness à 10 pour qu’il ne soit utilisé qu’en tant que tampon d’urgence
sysctl -w vm.swappiness=10 echo 'vm.swappiness = 10' > /etc/sysctl.d/30-discourse-swap.conf
L’ensemble en un seul script copiable/collable :
install -o root -g root -m 0600 /dev/null /swapfile
fallocate -l 2G /swapfile
mkswap /swapfile
swapon /swapfile
echo "/swapfile swap swap auto 0 0" | tee -a /etc/fstab
sysctl -w vm.swappiness=10
echo 'vm.swappiness = 10' > /etc/sysctl.d/30-discourse-swap.conf