There is no single number. Memory depends on the language, how many Discord servers the bot is in, and how much it keeps in memory. These are rules of thumb; your own graph is the real answer.
Starting points
| Bot | Starting plan |
|---|---|
| A small bot for your own server or a few friends' servers, slash commands only | 512 MB |
| A bot in a few dozen servers, with a database and some caching | 1 GB |
| A busy bot in hundreds of servers, or one that caches members and messages | 2 GB |
| A large bot, or one that handles music or images | 4 GB and up |
| Very large bots, sharded across many servers | 8 GB |
Java uses more memory than Node.js or Python for the same job, so start one step higher for a Java bot. A ready-made music bot such as Red, Muse or JMusicBot is happiest on 1 GB or more.
What makes a bot use more
- Caching. Libraries keep servers, members and messages in memory. Turning off caches you do not use is the cheapest fix.
- More servers and members. Every server the bot joins adds to the cache.
- Intents. Server Members and Presence intents load many more objects.
- Memory leaks. Memory that climbs steadily and never drops after restarts usually means a leak in the code, such as a list that only grows.





