Ridurre la frequenza di rebake per evitare di esaurire la memoria?

Sto cercando di rifare il bake di 45k post perché ho cambiato l’URL del CDN S3 e continua a esaurire la memoria e a bloccarsi.

Ho letto questo sulla configurazione di un file di swap

I primi due comandi sono andati bene…

  1. Crea un file di swap vuoto

    install -o root -g root -m 0600 /dev/null /swapfile

  2. Scrivi un file da 2GB chiamato ‘swapfile’

    dd if=/dev/zero of=/swapfile bs=1k count=2048k

Ma poi con mkswap /swapfile mi ha dato un errore…

Errore mkswap swapfile è montato non creerà spazio di swap

Ho provato questo invece…

swapoff /swapfile && rm /swapfile

e ho ottenuto questo errore…

swapoff: Non superutente

Sono su un Digital Ocean Droplet, quindi immagino di non avere i permessi necessari per quello?

Incontrando questi ostacoli, ho provato invece a rifare il bake dei post non cotti eseguendo…

rake posts:rebake_uncooked_posts

Eseguirà diverse centinaia, forse qualche migliaio se sono fortunato, poi si blocca di nuovo. Dopo averlo seguito attentamente da ieri, sono a metà cottura. :wink:

C’è un modo per eseguire un comando di rebake che sia limitato (con throttling)? Non mi interessa se ci vuole molto tempo, tutta la notte o altro, voglio solo che smetta di fallire.

Qualsiasi aiuto sarebbe molto apprezzato.

Stranamente, ho lasciato in esecuzione di nuovo quello non cotto mentre scrivevo tutto questo. Sono uscito per un lungo pranzo con degli amici e sono tornato quando era completato al 100%. Non sono sicuro se il file di scambio abbia finalmente iniziato a funzionare o se sia stata solo una coincidenza di tempismo a basso utilizzo, ma…

fatto, finalmente!

Forse se qualcuno ha una risposta, può aiutare qualcun altro o me la prossima volta.

Su ubuntu:

Sudo -i

Su Debian

Su -

1 Mi Piace

Grazie. Non sono sicuro di averlo fatto bene o no.

Non sembra giusto. Quali istruzioni stai seguendo?

E perché stai creando lo swap all’interno del container? Lo swap dovrebbe essere creato sull’host, non all’interno del container.

Perché so solo marginalmente cosa sto facendo. :wink:

Quindi questo è a livello di base ubuntu: e non ai livelli ubuntu:/var/discourse o ubuntu-app:/var/www/discourse?

Qualche idea sulla limitazione del rebake?

1 Mi Piace

Non ho mai visto il rebake essere limitato (throttled), è asincrono, mette in coda i processi che vengono elaborati in background.

1 Mi Piace

OK, grazie. Il mio ha finito il ribake per ora, quindi mi considererò fortunato e smetterò di armeggiare. :smiley:

Attenzione :warning:: non fare cose alla cieca su un sito di produzione, c’è una forte probabilità che le cose vadano male senza un modo reale per recuperarle.

no, non è a livello ubuntu:.

Hai eseguito un ./launcher enter app prima di provare a creare lo swap? Se sì, è quello che non avresti dovuto fare.

Quando accedi per la prima volta al tuo server è l’host, quando entri in app, stai eseguendo azioni all’interno del container.

Lo swap deve essere creato sull’host, l’applicazione vive all’interno del container, è quello a cui accederai per eseguire il comando rebake.

OK, grazie per la guida.

Il nostro forum è solo un gruppo di amici e ha buoni backup, quindi se lo “arrosto” per una settimana circa, dovremo sopportare GroupMe. :wink:

Questo significa che hai già un file di swap, si chiama /swapfile, ed è in uso.

Se vuoi ingrandirlo, puoi fermare il tuo container, quindi smontarlo, e poi usare quel comando dd per ingrandirlo, e poi il comando mkswap.

Se qualcun altro legge questo, il modo in cui lo faccio io è usare grep swap discourse-setup e guardare i comandi lì. È una versione leggermente più semplice di cosa fare.

3 Mi Piace

Spesso servo da monito.

Grazie per l’aggiunta.

1 Mi Piace

Non so voi, ma stavo ripetutamente esaurendo la memoria durante un lungo processo di ri-cottura (rebake). Creare uno swap di 2 GB è migliorato (più post sono stati ri-cotti), ma ancora OOM dopo un po’. Ho aumentato lo swap a 4 GB e sono stato in grado di ri-cuocere tutti i miei post.

Non sapevo nulla dei file di swap oltre a questa guida Create a swapfile for your Linux server, ma chatGPT è stato abbastanza esperto da aiutarmi ad aumentare il mio swap senza problemi.

3 Mi Piace

Un problema para mí es que no tengo una buena idea de lo que debe hacerse en cada área. Dentro o fuera del contenedor o dentro o fuera de la aplicación. Intento llevar buenas notas y tengo atajos mentales para las cosas que volveré a usar. Pero justo cuando empiezo a entenderlo, termino con lo que necesito hacer y no lo tocaré de nuevo durante otros 6 a 12 a 18 meses. Luego tengo que volver a aprenderlo.

sembra la storia della vita di ogni amministratore di sistema :joy:

la mia soluzione è prendere appunti e poi creare una piccola guida qui su meta

Lo rendo un wiki in modo che altri possano modificarlo se trovano un errore o una svista e la prossima volta che avrò bisogno di fare la stessa cosa…

1 Mi Piace