Table of Contents
Almost every "unlimited" shared host runs CloudLinux with per-account limits on CPU, RAM, entry processes (EP), I/O throughput, and IOPS. When you hit any limit, requests are queued or dropped — that's why your site goes down under modest traffic. The real numbers are usually 100% CPU, 1 GB RAM, 20 EP, 20 NPROC, 10 MB/s I/O, 1,024 IOPS. To fix: use caching, upgrade the plan, or move to a VPS / NVMe + LiteSpeed stack with higher baseline limits.
Key Takeaways
- "Unlimited" shared hosting has strict per-account limits on CPU, RAM, I/O, and processes.
- CloudLinux LVE is the software that enforces these limits on most cheap hosts.
- Typical Entry Process (EP) limits of 20 mean only 20 visitors can be actively loading a page at once.
- Hitting any limit triggers 503/508 errors, queued requests, or a sluggish "spinning forever" tab.
- Caching aggressively is the cheapest fix; moving to a VPS or quality shared plan is the real one.
1. "Unlimited" Is a Lie — Here's the Fine Print
Every major shared host advertises "unlimited" disk space, "unlimited" bandwidth, "unlimited" email accounts. Then read the acceptable-use policy: unlimited doesn't mean unlimited. It means "subject to our resource limits, which we reserve the right to enforce at our discretion."
What they're really selling is bounded access to a shared machine. Almost every cheap host runs CloudLinux OS, which uses Lightweight Virtual Environments (LVE) to give each hosting account a hard cap on CPU, RAM, I/O, and concurrent processes. The moment you cross any cap, your site is throttled or requests are dropped.
This is not a scam — it's how you can rent part of a server for $3/mo. But the marketing pretends the limits don't exist, which is why so many first-time site owners are blindsided when their modestly-trafficked blog starts returning 508 errors after a Reddit mention.
2. The Real Resource Limits, Decoded
There are seven resource limits that matter. Each cheap host sets them slightly differently, but the ranges are similar. These are the values we've seen on entry-level shared plans at Bluehost, Hostinger, HostGator, GoDaddy, Namecheap, and A2:
| Limit | What it means | Cheap shared plan | Quality shared plan |
|---|---|---|---|
| CPU | % of one CPU core you can use | 100% of 1 core | 100–200% of 2–4 cores |
| PMEM (RAM) | Physical RAM per account | 512 MB – 1 GB | 2–6 GB |
| EP (Entry Processes) | Concurrent dynamic requests (PHP-FPM workers) | 10–20 | 40–100 |
| NPROC | Max total processes (incl. cron, SSH, shell) | 20–40 | 100–200 |
| IO | Disk I/O throughput (MB/s) | 5–10 MB/s | 25–50 MB/s |
| IOPS | Disk I/O operations per second | 1,024 | 4,096–10,000 |
| Inodes | File count (incl. emails, cache, images) | 200k – 400k | 600k – 1M |
The one that kills most sites: EP (Entry Processes)
EP is the single most common cause of "sudden outage" on shared hosting. An Entry Process is one active dynamic request — basically one PHP-FPM worker handling one page load. An EP limit of 20 means only 20 visitors can be simultaneously loading a dynamic page. Visitor 21 gets a 508 error.
If your pages take 2 seconds to load and your EP limit is 20, you can handle 10 visitors per second peak — about 864,000 visits/day in theory, but real traffic is bursty and your peak-to-average ratio is usually 5–10×. So a $3/mo plan with 20 EP can realistically serve only ~100k visits/day before hitting 508s on spikes.
I/O and IOPS — the silent speed killers
An IOPS limit of 1,024 means 1,024 disk operations per second. WordPress fires roughly 50–200 disk operations per page load. At 1,024 IOPS you're capped around 5–20 page loads per second, per account. This is why so many "fast enough" plugin stacks suddenly freeze when a second visitor arrives.
Tired of slow, overcrowded shared hosting?
LaunchPad Host runs on NVMe SSDs + LiteSpeed with free migration, free SSL, daily backups, and crypto payments. 30-day money-back guarantee.
See Hosting Plans3. How to Measure Your Own Limits
If your host uses cPanel
Log into cPanel and look for "Resource Usage" or "CPU and Concurrent Connection Usage". CloudLinux surfaces a graph showing when you hit each limit in the last 24 hours, 7 days, or 30 days. If you see red bars, you're being throttled.
If you have shell access
lvectl list-user $(whoami)
Outputs your exact CPU, PMEM, EP, NPROC, and IO limits. This is the source of truth — what's advertised isn't always what's provisioned.
If you only have PHP
Drop this into a PHP file:
<?php
echo "Memory limit: " . ini_get('memory_limit') . "\n";
echo "Max exec time: " . ini_get('max_execution_time') . "\n";
echo "Max input vars: " . ini_get('max_input_vars') . "\n";
echo "Upload max: " . ini_get('upload_max_filesize') . "\n";
?>
A memory_limit of 128M on a "Business" plan tells you exactly how much headroom WordPress has before it crashes.
Synthetic load test
Use Loader.io or k6 to simulate 50, 100, 200 concurrent users. Watch for the point where error rate jumps above zero — that's where your EP limit lives. Do this on a staging site, not production.
4. What Happens When You Hit a Limit
Different limits fail differently, and the error message usually points at the cause — if you know what you're looking at.
- CPU throttling — requests don't fail, they slow down. TTFB doubles or triples. Users notice, bounce rate climbs.
- EP limit hit — HTTP 508 "Resource Limit Reached" or HTTP 503 "Service Unavailable". New visitors get an error page. Cached pages still load.
- NPROC limit — cron jobs fail silently, SSH sessions get killed, WP-Cron stops running. The site looks fine but backups, scheduled posts, and WooCommerce emails quietly stop.
- Memory limit — PHP fatal: "Allowed memory size of X bytes exhausted". A white page, or just a broken admin dashboard.
- IOPS throttling — everything slows, including the cPanel itself. File-manager operations stall.
- Inode limit — cannot write new files. Email delivery breaks, new uploads fail, backup plugins choke.
5. How to Fix Resource Errors
Short-term fixes (free)
- Install page caching. LiteSpeed Cache or W3 Total Cache. A page served from cache costs ~0 EP and ~0 IOPS. This alone can 10× your real capacity.
- Put Cloudflare in front. Cloudflare caches HTML at the edge (especially with APO), so most requests never reach your host.
- Audit plugins. Use Query Monitor to find the slowest queries. Remove anything firing 100+ queries per pageview.
- Move WP-Cron off real-time. Disable WP-Cron in wp-config and add a real system cron running every 5 minutes — eliminates admin-ajax spam.
Medium-term fixes ($)
- Upgrade to the host's "Business" or "Pro" plan — usually bumps EP from 20 to 40 and CPU from 1 core to 2.
- Enable object caching (Redis or Memcached) to slash IOPS.
Long-term fix (right answer)
Move to hosting with baseline limits high enough that you never think about them. Our Growth plan gives you 4 cores, 4 GB RAM, 100 EP, 50 MB/s I/O, and 8,192 IOPS on NVMe — 5–10× the headroom of a typical $3/mo plan, for $5.99/mo. Or jump straight to a VPS for dedicated cores and RAM with no neighbours.
Frequently Asked Questions
EP stands for Entry Processes — the number of dynamic (PHP) requests that can run simultaneously for one hosting account. An EP limit of 20 means only 20 visitors can be loading a PHP-generated page at the same moment.
HTTP 508 means your account hit its EP, CPU, or memory limit. More concurrent visitors showed up than your plan allows. Fix: add caching so most visitors get served from cache and never consume an EP.
For most sites with caching, 100% of 2 CPU cores is enough up to ~100k visits/month. Ecommerce and membership sites need more — 4+ cores and 4 GB RAM is safe ground.
Yes. Log into cPanel and look for "Resource Usage" or "CPU and Concurrent Connection Usage". It shows a graph of CPU %, EP, memory, and I/O hits over the last 24 hours, 7 days, and 30 days.
No. All shared hosting has per-account CPU, RAM, I/O, and process limits enforced by CloudLinux LVE or similar. "Unlimited" refers to disk space and bandwidth in marketing, but the acceptable-use policy caps both at real numbers.
Yes. A VPS gives you dedicated CPU cores and RAM with no neighbour competition. The limits move from per-account to per-VPS, and you can tune them yourself. Tradeoff: you manage the server (or pay for managed VPS).
Three signals: (1) you hit 508 errors during normal traffic, (2) cPanel resource graphs show red bars weekly, (3) your site is >100k visits/month. Any of those means you've outgrown entry shared.
IOPS = Input/Output Operations Per Second — disk operations per second. WordPress fires 50–200 IOPS per page load. An IOPS limit of 1,024 caps you at 5–20 page loads/sec without caching. NVMe drives deliver 100,000+ IOPS natively, so IOPS limits on NVMe plans are much higher.
Ready for hosting that just works?
NVMe + LiteSpeed hosting with free migration, crypto payments accepted, and a 30-day money-back guarantee.
See Hosting PlansRelated tools, articles & authoritative sources
Hand-picked internal pages and external references from sources Google itself considers authoritative on this topic.
Related free tools
- PageSpeed & Core Web Vitals Google Lighthouse scores: performance, SEO, accessibility, best practices.
- Site Validator (robots, sitemap, SSL, headers) Validate robots.txt, sitemap.xml, SSL certificate, and security headers.
- On-Page SEO Analyzer Full on-page audit: title, meta, headings, schema, OG tags.
Offshore & privacy hosting
- Offshore Hosting EU jurisdiction, privacy-first, from $3.99/mo
- Offshore WordPress Hosting LiteSpeed + NVMe + EU jurisdiction
- Bulletproof Hosting Alternative What searchers actually want, without the risk