Mastodon: Solventar uso excesivo de memoria de Sidekiq

Desde hace un tiempo tengo añadido el servidor Mastodon en el sistema de monitoreo de Zabbix, del que ya os hablé hace unos años. La cuestión es que hace unas semanas que el servidor de Mastodon está usando más del 95 por ciento de la memoria volátil, véase la memoria RAM.

La verdad es que la solución es bastante sencilla. El glotón que se come toda la memoria es el servicio de Sidekiq. Este servicio se encarga de procesar tareas en segundo plano. De hecho puede manejar muchos trabajos de forma simultanea en el mismo proceso utilizando múltiples hilos.

Logo oficial de Mastodon

Solventar el uso excesivo de memoria por Sidekiq en Mastodon

Bueno, investigando un poco, no demasiado, he encontrado la solución. Se ve que Sidekiq es un adicto a la memoria por lo que, como un hijo pequeño o un hermano alocado, hay que ponerle límites.

Para ello vamos a editar su unidad de Systemd. Dejando estos valores:

Restart=always
RuntimeMaxSec=10800

Esto reiniciará automáticamente el proceso Sidekiq cada 3 horas, reduciendo drásticamente la memoria total consumida.

Podéis ver el resultado en la gráfica de consumo de memoria del servidor:

Uso de memoria en el servidor de Mastodon

A partir de ahora ya no tendremos problemas de memoria en este servidor, por lo que menos en lo que respecta a Sidekiq

Fuentes consultadas

Github.com – Sidekiq and puma processes increase memory usage over time

Github.com – Scaling Mastodon down