Negli ultimi settimane ho notato che l’utilizzo della memoria di sistema aumenta gradualmente ogni giorno fino a saturarla.
Storicamente, l’utilizzo della memoria era intorno al 50% - 55% (su un sistema da 3 GB). Ora, dopo un aggiornamento, inizia al 50% ma nei giorni successivi sale lentamente fino all’85% e poi inizia a utilizzare lo swap.
Esiste un modo per individuare cosa in Discourse sta causando questo aumento e consumando memoria? Il task manager mostra solo Ruby che aumenta gradualmente la quantità di memoria che sta utilizzando. Ogni processo Ruby sembra occupare 350 MB e sta crescendo (inizia con meno di 200 MB dopo un aggiornamento).
Aggiornato a v2.3.0.beta9 +392 due giorni fa, l’utilizzo è già passato dal 50% al 75% e non sembra stabilizzarsi.
You could try enabling the sidekiq logs, and then look for which job is causing the problem. Some information on those logs can be found in this commit message
The memory utilization is back up to 73% and doesnt’ seem to slowing down. It’s now beginning to take up swap space.
I’m not sure how to do this, would need some guidance. I had a look at the commit and it talks about setting 2 environment variables. How do I do this? I’m not familiar with ruby/docker and don’t want mess anything up as this is live.
Is there anything else I can look at to see why the memory utilization is creeping up?
I’m also seeing a new error in the logs after the update (2 since yesterday):
Okay so I did a update and rebuild last night. The memory usage is back up to 71% and still growing. The only way to reduce it is to restart discourse at which point it drops back down to under 50% and then starts working it’s way up again. The CPU utilization is about 1% on average.
That’s a good question, which is exactly what I had earlier, how do I find out what’s taking up memory within Discourse? I can only see the task manager which shows that Ruby is taking up more memory with time (all the instances of Ruby are growing in memory consumption).