Running a Personal Website on a Small VPS: Memory Limits and What Breaks First

A 1 GB VPS running a personal website — Nginx, PHP-FPM, and MariaDB — idles around 300–400 MB of used RAM and can serve tens of thousands of visits a month. The problems start when memory approaches the ceiling: the kernel starts swapping, PHP workers get killed, and the first thing you notice is a site that takes 8 seconds to load or a white page in the browser. This guide maps where the RAM actually goes on a small server, what breaks first when you run out, and how to know whether the fix is swap, tuning, or a bigger plan.

Where the RAM actually goes

ComponentTypical footprint (1 GB VPS)
Linux kernel + system daemons80–120 MB
Nginx (or LiteSpeed)20–40 MB
PHP-FPM (2–4 workers)120–250 MB
MariaDB/MySQL150–300 MB
Page cache / buffers (reclaimable)100–300 MB

The good news is that part of that total is reclaimable: the kernel releases page cache instantly when an application needs memory. The real floor is the sum of the processes — roughly 400–700 MB for a typical WordPress stack — which leaves 300–600 MB of usable headroom on a 1 GB plan. That headroom is what a traffic spike, a plugin update, or a crawling bot consumes.

What breaks first when memory runs out

  • PHP-FPM workers get killed. The OOM killer targets the largest process, which is usually a PHP worker serving a page. The symptom is a request that dies mid-render — a white page, a 500 error, or a partial page with missing assets.
  • MariaDB slows down or crashes. MySQL buffers live in memory; when they are forced out, queries re-read from disk and response time climbs from milliseconds to seconds. Repeated OOM kills on mysqld can corrupt tables.
  • The whole server becomes unresponsive. Once the kernel falls back to heavy swapping, even SSH commands stall. This is the “site is down but the panel says it’s running” state that confuses most beginners.
  • Background jobs fail silently. Cron tasks like backups and cache warmers get killed without logging an error, so the first sign is a missing backup or a cold cache at 3 AM.

Swap: how much, and when it hurts

Swap is disk pretending to be RAM, and on a budget VPS it is the cheapest safety net you will ever configure: 1–2 GB of swap on a 1 GB plan costs nothing and absorbs spikes that would otherwise trigger the OOM killer. The trade-off is speed — swap on NVMe is usable, swap on HDD is painful — and the danger is relying on it. If a server lives on swap for days, performance degrades silently and the real fix is more RAM, not more swap. A reasonable configuration is 1–2 GB of swap with a low swappiness value (10) so the kernel prefers real memory and uses swap only as an emergency buffer. Monitoring tools like free -h and htop show you in seconds whether swap is idle (fine) or active (problem).

Free optimizations before you pay for RAM

  • Install a page cache (LiteSpeed Cache or WP Super Cache) — this alone can cut peak PHP memory use in half.
  • Cap PHP-FPM workers (pm.max_children) so a traffic spike degrades speed instead of killing processes.
  • Set MariaDB’s innodb_buffer_pool_size to 25–50% of RAM instead of the installer default.
  • Remove unused plugins and keep two versions of PHP opcache at most.

Signs you have outgrown 1 GB

Watch the weekly pattern, not the one-off spike. If swap usage is consistently above zero during normal hours, if PHP workers die more than once a month, or if free -h shows less than 200 MB available after a cache flush, the server has outgrown 1 GB and tuning will not fix it. The upgrade path is a 2 GB plan — typically $2–$4/month more — and on most providers it is a one-click resize without a rebuild. Before upgrading, confirm the bottleneck is memory and not CPU or disk I/O: top sorts this out in a minute. A memory problem shows high swap and low idle RAM; a CPU problem shows 100% load; an I/O problem shows high wa time. For a personal site, the 1 GB tier with swap is genuinely enough for most of its life; the 2 GB tier becomes worth the money the moment the symptoms above appear. If you are choosing a plan for a new personal site, our comparison table of budget VPS plans lists the small-instance tiers from the major providers, and our homepage breakdown of entry-level specs shows which ones include NVMe storage and honest CPU allocation at the 1 GB level.

For a personal website, a provider with cheap small instances and hourly billing lets you start at 1 GB, watch the numbers, and resize without penalty:

Try Vultr’s small cloud instances (affiliate link) — deploy a 1 GB VPS by the hour, add swap, and resize up only when your memory graphs say so.

Affordable-Vps-Server-Author
Affordable-Vps-Server-Author
Articles: 239

Leave a Reply