ACLClouds
ACLClouds

Bot de música para Discord: qué consume la RAM

ffmpeg, yt-dlp, cola y búferes de audio: adónde va la memoria de un bot de música, cómo medirla y cómo reducirla.

Un bot de música hace algo más que responder a comandos: lanza procesos externos, mantiene una cola en memoria y decodifica audio sin parar. En el plan gratuito de 315 MB de RAM, cada proceso cuenta. Esto es lo que consume memoria, cómo medirlo y qué reducir primero.

  • Un bot de música lanza varios procesos: el bot, ffmpeg y, a veces, yt-dlp.
  • La cola pesa poco mientras solo contenga títulos e identificadores.
  • Una memoria que nunca baja indica una fuga, que hay que corregir antes de comprar más RAM.

Los procesos que consumen memoria

Cada reproducción puede iniciar varios procesos: el propio bot, ffmpeg para decodificar y convertir el sonido, y yt-dlp para obtener el flujo cuando la fuente es una dirección web. Cada uno tiene su propia memoria.

  • El proceso del bot: su código Node.js o Python y las bibliotecas cargadas al arrancar.
  • ffmpeg: decodifica y convierte el sonido. Cada servidor con música añade su parte.
  • yt-dlp: se llama para extraer un flujo de una dirección y solo vive mientras dura la obtención.

La cola y los datos

La cola está en memoria. Una lista de títulos y direcciones pesa poco. Lo que realmente pesa son los datos obtenidos y conservados: metadatos voluminosos, imágenes, búferes de reproducción que nunca se liberan.

  • Guarde en la cola solo títulos e identificadores, no archivos de audio completos.
  • Libere los búferes y los objetos de reproducción cuando termina una pista.
  • Limite el tamaño de la cola, por ejemplo a unas decenas de pistas por servidor.

Medir y reducir

Mida durante una reproducción real y, después, una hora más tarde. Una memoria que sube sin bajar nunca indica una fuga. Compruebe también si quedan procesos ffmpeg activos tras terminar una pista.

  • Anote el consumo durante la reproducción y después de una hora de escucha, y compárelos.
  • Un ffmpeg que sigue activo tras una pista gasta memoria sin motivo: deténgalo explícitamente.
  • Un consumo que nunca baja es una fuga: corríjala antes de cambiar de plan.

Por qué ACLClouds para un bot de música

ffmpeg, yt-dlp y deno ya vienen instalados en las imágenes de Node.js y Python: no hay nada que compilar. Un bot de música que supera los 315 MB puede pasar a un plan con más memoria.

  • Plan gratuito: 315 MB de RAM y 0,25 vCPU, para probar un bot de música ligero.
  • ffmpeg, yt-dlp y deno incluidos en las imágenes de Node.js y Python.
  • Para más memoria, el VPS Linux Essentiel ofrece 16 GB de RAM, 4 vCPU y 80 GB de almacenamiento, a 9,99 € al mes.

Preguntas frecuentes

¿Por qué se cae mi bot de música tras unas horas?

A menudo por una fuga: flujos o procesos ffmpeg que quedan abiertos. Mida la RAM a lo largo del tiempo. Si sube sin bajar, corrija el código antes de cambiar de plan.

¿Viene incluido ffmpeg?

Sí. ffmpeg, yt-dlp y deno ya están instalados en las imágenes de Node.js y Python de ACLClouds: no hay nada que compilar.

¿Necesita muchas vCPU un bot de música?

La decodificación de audio usa el procesador, pero la memoria suele ser el primer límite en el plan gratuito. Mida ambas cosas antes de elegir un plan.