ACLClouds
ACLClouds

Bot de música para Discord: o que consome RAM

ffmpeg, yt-dlp, fila e buffers de áudio: para onde vai a memória de um bot de música, como medi-la e como reduzi-la.

Um bot de música faz mais do que responder a comandos: ele inicia processos externos, mantém uma fila na memória e decodifica áudio sem parar. No plano gratuito de 315 MB de RAM, cada processo conta. Veja o que consome memória, como medir e o que reduzir primeiro.

  • Um bot de música inicia vários processos: o bot, o ffmpeg e, às vezes, o yt-dlp.
  • A fila pesa pouco enquanto contiver apenas títulos e identificadores.
  • Memória que nunca desce indica um vazamento, a corrigir antes de comprar mais RAM.

Os processos que consomem memória

Cada reprodução pode iniciar vários processos: o próprio bot, o ffmpeg para decodificar e converter o som e o yt-dlp para obter o fluxo quando a fonte é um endereço web. Cada um tem a sua memória.

  • O processo do bot: seu código Node.js ou Python e as bibliotecas carregadas na inicialização.
  • ffmpeg: decodifica e converte o som. Cada servidor com música acrescenta a sua parte.
  • yt-dlp: é chamado para extrair um fluxo de um endereço e só existe enquanto a obtenção dura.

A fila e os dados

A fila fica na memória. Uma lista de títulos e endereços pesa pouco. O que realmente pesa são os dados obtidos e mantidos: metadados volumosos, imagens, buffers de reprodução que nunca são liberados.

  • Guarde na fila apenas títulos e identificadores, não arquivos de áudio inteiros.
  • Libere os buffers e os objetos de reprodução quando uma faixa termina.
  • Limite o tamanho da fila, por exemplo a algumas dezenas de faixas por servidor.

Medir e reduzir

Meça durante uma reprodução real e, depois, uma hora mais tarde. Uma memória que sobe sem nunca descer indica um vazamento. Verifique também se restam processos ffmpeg ativos depois que uma faixa termina.

  • Anote o consumo durante a reprodução e depois de uma hora de escuta, e compare.
  • Um ffmpeg deixado ativo após uma faixa gasta memória à toa: pare-o explicitamente.
  • Um consumo que nunca cai é um vazamento: corrija antes de trocar de plano.

Por que a ACLClouds para um bot de música

ffmpeg, yt-dlp e deno já vêm instalados nas imagens Node.js e Python: nada para compilar. Um bot de música que passa de 315 MB pode migrar para um plano com mais memória.

  • Plano gratuito: 315 MB de RAM e 0,25 vCPU, para testar um bot de música leve.
  • ffmpeg, yt-dlp e deno incluídos nas imagens Node.js e Python.
  • Para mais memória, o VPS Linux Essentiel oferece 16 GB de RAM, 4 vCPU e 80 GB de armazenamento, por 9,99 € ao mês.

Perguntas frequentes

Por que meu bot de música cai depois de algumas horas?

Muitas vezes por um vazamento: fluxos ou processos ffmpeg que ficam abertos. Meça a RAM ao longo do tempo. Se ela sobe sem descer, corrija o código antes de trocar de plano.

O ffmpeg está incluído?

Sim. ffmpeg, yt-dlp e deno já estão instalados nas imagens Node.js e Python da ACLClouds: não há nada para compilar.

Um bot de música precisa de muitas vCPUs?

A decodificação de áudio usa o processador, mas a memória costuma ser o primeiro limite no plano gratuito. Meça as duas coisas antes de escolher um plano.