Au cours des dernières semaines, j’ai remarqué que l’utilisation de la mémoire système augmentait progressivement chaque jour jusqu’à atteindre son maximum.
Historiquement, l’utilisation de la mémoire se situait entre 50 % et 55 % (sur un système de 3 Go). Maintenant, après une mise à jour, elle commence à 50 %, puis augmente lentement au cours des jours suivants pour atteindre 85 %, avant de commencer à utiliser l’espace d’échange (swap).
Existe-t-il un moyen d’identifier ce qui, dans Discourse, provoque cette augmentation et consomme de la mémoire ? Le gestionnaire de tâches indique uniquement que Ruby augmente lentement la quantité de mémoire qu’il consomme. Chaque processus Ruby semble occuper 350 Mo et cette taille continue de croître (il démarre avec moins de 200 Mo après une mise à jour).
J’ai récemment mis à jour vers v2.3.0.beta9 +392 il y a deux jours, et l’utilisation est déjà passée de 50 % à 75 %, sans signe de stabilisation.
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).