Requisiti elevati di memoria per il rebuild: edizione aprile 2025

Ok, test successivo completato.

Ho compilato con i seguenti plugin:

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

Lo swap era disabilitato, quindi solo 4GiB/3.8GB di RAM.

L’utilizzo massimo di memoria durante la compilazione è stato di 3.4GB. Il tempo di compilazione è stato di 6m 48s.

Sono in viaggio il problema è il file di swap, dopo aver aumentato da 0 a 2 GB, per ora va tutto bene.

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

nel terminale del tuo server. Dopodiché, ricompila.

Sto riscontrando un forte aumento della memoria necessaria per la ricostruzione. Ho 8 GB di memoria e anche aggiungendo un file di swap da 8 GB esaurisce lo spazio in questo passaggio: cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate

Si tratta di un’installazione multisito con quattro forum. Non ho mai dovuto aggiungere un file di swap prima.

modifica Ora ho provato con 16G di swap e sta ancora esaurendo la memoria.

Questo avviene sotto Linux, con plugin minimi abilitati.

Hmm… Mi chiedo, la documentazione dovrebbe essere aggiornata per riflettere requisiti di memoria più elevati? L’articolo Introducing pre-compiled JS assets for self-hosters ha aiutato a diminuire il caricamento? Avrei pensato che con quella modifica fosse necessaria meno RAM :thinking: .

Potrebbe essere passato qualche mese dall’ultima ricostruzione, ma prima andava bene con 8 GB di RAM e senza swap. Non ho ancora risolto questo problema e quindi tutti e quattro i siti sono inattivi.

Non so se sia correlato, ma non veniva compilato finché non ho impostato la variabile d’ambiente HOME: /var/www/discourse - altrimenti tentava di scrivere in /root e otteneva un errore di permessi negati.

Hmm, vedo oltre cento di questi processi:

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

È una specie di fork bomb?

Aggiungi sicuramente MOLTO swap, anche solo per rimetterti in funzione. Il vantaggio di usare lo swap qui è che le build sono un picco temporaneo.

Uso la configurazione a due container e la memoria è ancora più sotto pressione durante l’avvio, poiché hai anche due container in esecuzione. :sweat_smile:

Ho aggiunto 40 GB di swap e non è sufficiente.

Vedo centinaia di questi processi node, sembra che questo sia il problema?

Sto iniziando a pensare che la causa principale sia la stessa del mio problema precedente in cui ho dovuto impostare HOME: /var/www/discourse altrimenti avrebbe tentato di scrivere file in /root. Non so però cosa fare al riguardo.

Ok, c’è qualcosa che non va. Prenderei anche in considerazione di eseguire un backup e ricreare tutto da zero.

Come potrei fare questo?

Vedi:

Grazie, penso che riporterò l’intero server a uno stato precedentemente funzionante e farò un backup da un sistema funzionante.
Qualcuno ha idee su cosa potrebbe essere andato storto?

Il problema era effettivamente legato al fatto che HOME non era impostato correttamente; l’aggiunta di -H al comando sudo per la migrazione multisito lo ha risolto, come dettagliato qui: