Para servidores con 4 GB de RAM o menos, ejecutar
./discourse-setupsolicitará y creará automáticamente un archivo de intercambio (swapfile) de 2 GB.
La mayoría de los proveedores de máquinas virtuales en la nube no configuran archivos de intercambio como parte de su aprovisionamiento de servidores.
En particular, actualizar Discourse produce mucha presión de memoria. Con un archivo de intercambio, en lugar de terminar procesos aleatoriamente con un error de falta de memoria (out of memory), las cosas se ralentizarán. Tener un archivo de intercambio es una póliza de seguro económica que lo protege de muchos otros fallos relacionados con la carga.
Esto se puede hacer en cualquier momento desde la línea de comandos de su servidor.
Configurar un archivo de intercambio de 2 GB
Recomendamos un archivo de intercambio de 2 GB para Discourse, a menos que su servidor tenga más de 4 GB de memoria.
En el shell que ha abierto a su droplet, haga lo siguiente:
Necesitará ser root para gran parte de esto, así que sea root o ejecute
sudo -santes de ejecutar estos comandos. ¡No olvide salir de root después!
-
Crear un archivo de intercambio vacío
install -o root -g root -m 0600 /dev/null /swapfile -
Asignar un archivo de 2 GB llamado ‘swapfile’
fallocate -l 2G /swapfile -
Indicar a linux que este es el archivo de intercambio:
mkswap /swapfile -
Activarlo
swapon /swapfile -
Añadirlo a la tabla del sistema de archivos para que esté ahí después del reinicio:
echo "/swapfile swap swap auto 0 0" | tee -a /etc/fstab -
Establecer la swappiness en 10 para que solo se use como un búfer de emergencia
sysctl -w vm.swappiness=10 echo 'vm.swappiness = 10' > /etc/sysctl.d/30-discourse-swap.conf
Todo el proceso como un script único para copiar y pegar:
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