A bot needs memory for its runtime, dependencies, caches, and your code. If the server reaches the plan's memory limit, the process can be killed. A runtime can also reach its own heap limit before the server limit. Check the console and resource graph together.
Identify the failure
Look for JavaScript heap out of memory, java.lang.OutOfMemoryError, Python MemoryError, or an out-of-memory message near the last exit. Exit code 137 can indicate a killed process, but it does not prove memory was the cause on its own. A manual force stop can also kill a process.
Reduce the working set
Trim unbounded caches, keep only the Discord intents your bot needs, and avoid loading a large database or file entirely into memory. Stream large files and process work in batches. Check for event listeners or background tasks created repeatedly after reconnects. Watch whether memory grows steadily during ordinary use.
Separate installation from startup
If memory peaks while installing dependencies or building your bot, build locally and upload the finished code where your runtime supports that workflow. Node production starts skip development dependencies. Java bots can upload a built jar instead of compiling on start. Keep the runtime dependencies required by the finished bot.
Check the next run
Restart after one change and watch the graph through login and a normal command. Do not put the bot into a rapid restart loop. A heap setting must leave room for the runtime's other memory; increasing it beyond the plan's limit does not create more RAM.
Your bot page and the pricing comparison show memory from the current plan configuration. If the workload needs more than that, choose a suitable plan after checking the cause. See troubleshooting and the JDA deployment guide for related startup checks.
Still stuck? Contact support