Skip to content

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 /data volume 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. 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. 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. 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. 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.