Skip to content

Diagnose high CPU or memory on your server

A sluggish server, a fan-hot VPS, or an app that keeps getting killed usually comes down to one thing: something is using more CPU or memory than the box has. Find it, then fix the cause.

Find the culprit

In the web terminal or SSH:

Terminal window
top # press Shift+P = sort by CPU, Shift+M = sort by memory
free -m # how much memory is actually free
uptime # load average — >number-of-CPUs means overloaded

top shows the process name. That tells you who — now find out why.

Common patterns

What you seeLikely causeFix
php-fpm / app pegging CPUa slow or looping request, or real trafficprofile the slow endpoint; add caching
MySQL/Postgres high CPUa missing index, a heavy queryadd indexes; find slow queries
Memory full, server swappingtoo many workers, or a leaklower worker counts; restart the leaking app; add RAM
A cron job spiking on a schedulea heavy scheduled taskstagger it, or make it lighter → cron jobs
Everything slow + disk fulllogs/backups filling the disk→ disk & memory

Spike vs. problem

  • A short spike during a traffic burst or a deploy is normal.
  • Sustained high load, or an app repeatedly killed for memory, is a real problem — don’t just restart and move on; find the cause.

Bring it down

  1. Identify the process with top.
  2. If it’s your app, check its logs for a runaway task or loop.
  3. Cache repeated work; add DB indexes; move heavy jobs to the background.
  4. If you’ve genuinely outgrown the box, size up.

OrbixPanel shows per-site CPU, memory, and disk with alerts, so you can see which site is responsible without guessing — see understanding usage limits.


Running OrbixPanel? Per-site resource monitoring and alerts are built in. OrbixPanel.com → — the free, self-hosted, AI-powered hosting control panel.