Troubleshooting
Shared app limits: CPU, memory, storage and alerts
Shared apps have hard CPU, memory and storage limits. See what happens at each limit, which alerts you get, and why apps are never suspended for it.
Updated 4 min read
On the shared plan your app runs in a container on a server shared with other small apps. To keep that fair, every container has hard limits set by the size you chose. Your app can never use more than it pays for, and no neighbour can slow it down. This page explains what happens at each limit and what to do about it.
The limits
- CPU: capped at your vCPU size, for example 0.5 vCPU. A busy app is slowed down to its cap, not stopped.
- Memory: capped at your memory size. An app that goes over is killed with exit code 137 and restarted automatically.
- Storage: your
/datavolume holds exactly the size you chose. When it is full, writes fail inside your app. - Processes and network: a process limit and a private network stop runaway forks and keep apps from reaching each other.
Alerts, not suspension
We watch every shared app and send you an alert, by email, WhatsApp or Telegram, when it keeps running into a limit:
- CPU held at its cap for a sustained period, which usually means slow responses.
- Running out of memory and being restarted again and again within a few minutes.
- Storage almost full, and again when it is full.
Apps are never suspended for using their resources. The only thing that suspends an app is prepaid credit running out, and only after a 24-hour grace period. See Prepaid credits and top-ups. Separately, an app that breaks the acceptable use rules in our terms, for example by mining crypto or attacking other systems, can be stopped by us.
What to do when you get an alert
- 1
Open the Metrics tab
Look at CPU and memory as a share of your allowance over the last 24 hours. A flat line at 100% CPU or a saw-tooth memory chart that hits the limit tells you which limit matters.
- 2
Read the logs
Open the Logs tab. A loop, a retry storm or a large file loaded into memory usually shows up just before the problem. See Logs and metrics.
- 3
Fix the cause
Stop the loop, add a backoff to retries, stream large files instead of loading them, or clean up old files under
/data. - 4
Or pick a larger size
In Settings, then Resources, raise vCPU, memory or storage. The app restarts quickly with the new size and the new hourly price applies from that hour. See Choose resources.
Dedicated servers
On a dedicated server your app has the machine to itself, so it can use almost all of the server’s CPU and memory. Storage and out-of-memory alerts still apply, because a full disk or a memory leak hurts any app. If you think an alert is wrong, raise a ticket with the app attached and we will look at the metrics with you.
Frequently asked questions
Will my app be suspended for using too much CPU?
No. CPU is capped at your size, so the app slows down instead, and you get an alert. Apps are only suspended when prepaid credit runs out.
What happens when my app runs out of memory?
The process is killed with exit code 137 and restarted automatically. If it keeps happening you get an alert suggesting a fix or a larger size.
Can I raise the limits?
Yes. Change vCPU, memory or storage in Settings, up to 2 vCPU, 4 GB and 10 GB on the shared plan, or move to a dedicated server.
Related articles
- Choose vCPU, memory and storage for your appPick vCPU, memory and storage for a shared app, see the monthly price before you commit, resize later with a quick restart, or move to a dedicated server.
- App crashed out of memory (exit code 137)Exit code 137 means your app ran out of memory. Learn how to confirm it in metrics, add more RAM, and tune Node.js heap size or gunicorn workers to fit.
- App storage full or files disappearing after deployGot an "App storage almost full" alert or lost uploads after a deploy? Learn how /data persistent storage works on DployHub and how to increase it safely.
- Shared vs dedicated: which plan is right for your app?Compare the DployHub shared plan and dedicated servers: who each is for, sizes, prices, limits and how to choose for small apps or high-traffic production.