Altas requisitos de memoria para reconstrucción: edición de abril de 2025

Ok, siguiente prueba completada.

Compilé con los siguientes plugins:

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 memoria virtual (swap) estaba deshabilitada, por lo que solo 4GiB/3.8GB de RAM.

El uso máximo de memoria durante la compilación fue de 3.4GB. El tiempo de compilación fue de 6m 48s.

4 Me gusta

En mi camino el problema es el archivo swap, después de aumentarlo de 0 a 2GB, todo está bien por ahora.

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

en la terminal de tu servidor. Después de eso, reconstruye.

2 Me gusta

Estoy encontrando un gran aumento en la memoria necesaria para reconstruir. Tengo 8 GB de memoria e incluso añadiendo un archivo de intercambio (swapfile) de 8 GB se queda sin espacio en este paso: cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate

Es una instalación multisitio con cuatro foros. No había tenido que añadir un archivo de intercambio antes.

edición Ahora he probado con 16G de intercambio y todavía se está quedando sin memoria.

Esto es bajo Linux, con plugins mínimos habilitados.

2 Me gusta

Mmm… Me pregunto, ¿deberían actualizarse los documentos para reflejar mayores requisitos de memoria? ¿Ayudó Introducing pre-compiled JS assets for self-hosters a disminuir la carga? Pensaría que con ese cambio se necesita menos RAM :thinking: .

Puede que hayan pasado algunos meses desde que hice una reconstrucción, pero antes estaba bien con 8 GB de RAM y sin intercambio (swap). Todavía no he resuelto esto y, por lo tanto, los cuatro sitios están caídos.

No sé si esto está relacionado, pero no se compilaba hasta que configuré la variable de entorno HOME: /var/www/discourse; de lo contrario, intentaba escribir en /root y recibía un error de permiso denegado.

Mmm, estoy viendo más de cien de estos procesos:

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

¿Es algún tipo de bomba fork?

1 me gusta

Definitivamente, añade MUCHA memoria de intercambio (swap) incluso si es solo para que vuelvas a funcionar. La ventaja de usar swap aquí es que las compilaciones son un pico temporal.

Yo uso la configuración de dos contenedores y la memoria está aún más bajo presión durante el arranque, ya que también tienes dos contenedores en ejecución. :sweat_smile:

He añadido 40 GB de intercambio ahora y no es suficiente.

Estoy viendo cientos de estos procesos de nodo, ¿parece que ese es el problema?

Estoy empezando a pensar que la causa raíz es la misma que mi problema anterior donde tuve que establecer HOME: /var/www/discourse de lo contrario intentaría escribir archivos en /root. Sin embargo, no estoy seguro de qué hacer al respecto.

2 Me gusta

Ok, algo está muy mal. También consideraría hacer una copia de seguridad y recrear desde cero.

1 me gusta

¿Cómo procedería con eso?

Ver:

Gracias, creo que primero revertiré todo el servidor a un estado conocido como bueno y haré una copia de seguridad desde un sistema funcional.
¿Alguien tiene ideas sobre lo que pudo haber salido mal?

1 me gusta

El problema estaba efectivamente relacionado con que HOME no estaba configurado correctamente; añadir -H al comando sudo para la migración multisitio lo solucionó, como se detalla aquí:

6 Me gusta