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.

4 Mi Piace

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.

2 Mi Piace

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.

2 Mi Piace

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?

1 Mi Piace

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.

2 Mi Piace

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

1 Mi Piace

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?

1 Mi Piace

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:

6 Mi Piace