Web Hosting Resource Limits Explained in Plain English
Understand the CPU, memory, I/O, entry process, and inode limits behind 'unlimited' shared hosting, and what error codes like 503 and 508 really mean.
Facts that can change should include a source and check date. Benchmark claims should state the plan, region, method, and test period.
An “unlimited” hosting plan still has resource and acceptable-use limits. Check CPU, memory, disk operations, concurrent processes and file counts; a site can reach one of these before using its advertised storage allowance.
Why unlimited plans still have limits#
On a shared server, many accounts share one machine's processor, memory, and disk. To keep one busy account from degrading everyone else's service, hosts enforce per-account ceilings using server-level software; CloudLinux's Lightweight Virtualized Environment is one widely used implementation. An account that exceeds its ceiling is throttled or briefly paused rather than allowed to consume the whole machine. A plan described as unlimited usually means there is no simple advertised storage or transfer quota, not that resources are infinite. Backend capacity, acceptable-use rules, operating-system limits, and inode ceilings still apply alongside CPU, memory, and disk limits. This is a reasonable design, and it is worth understanding rather than resenting, because these limits explain most of the mysterious slowdowns a growing site experiences.
The limits that actually matter#
Five metrics do most of the work.
- CPU is the share of processor time your account may use to execute scripts and database queries. Heavy pages, plugins, and traffic spikes consume it quickly.
- Memory, often labelled RAM, is the working space for running code. When a script tries to use more than the account allows, it is terminated and you see an out-of-memory error rather than a slow page.
- I/O and IOPS govern how fast the server can read from and write to disk, measured both as throughput and as operations per second. A site that queries the database on every page view depends heavily on this ceiling.
- Entry processes and process count limit how many requests may execute simultaneously and how many background processes may run. Which limit is reached first depends on the workload.
- Inodes count individual files, folders, and mail messages, independent of their size. An account holding a very large number of small files — caches, sessions, image thumbnails — can exhaust inodes while using a fraction of its storage.
What the error codes are telling you#
Resource limits surface as specific HTTP status codes rather than a generic crash. A 503 Service Unavailable response means the server or the application behind it cannot handle the request right now, which is frequently a ceiling being reached under load. A 504 Gateway Timeout means a request took too long to complete, often because a script or query waited on resources it never received. A 508 is used in shared hosting environments to signal that a resource limit was reached. These codes identify a failed request, not its root cause. Compare application logs with resource graphs before deciding that more capacity will fix it.
Reading a plan with limits in mind#
Marketing pages rarely list these numbers, but many hosts publish them, and a pre-sales question will usually surface the rest. Look for a stated CPU share, a memory figure, an I/O figure, and an entry process limit, and compare plans within the same provider rather than across providers, since the definitions vary. Also check what happens when a limit is hit: a brief throttle plus a log entry is far easier to live with than a suspended account. The aim is not the largest numbers available but a ceiling comfortably above your normal peak.
What to do when you hit a ceiling#
Before upgrading, identify which limit you are hitting, because the fixes differ. Memory exhaustion is often a single heavy script, a plugin, or an oversized image process. Entry process limits usually point to concurrent traffic or a slow page that holds a worker longer than necessary. Inode exhaustion is almost always a very large number of small files and is fixed by clearing caches and old sessions. Sustained I/O pressure points to unnecessary database work. Fixing the cause is cheaper than paying for headroom you do not need — but if the site is genuinely busier than the plan allows, moving up a tier is the honest answer.
A calmer way to compare plans#
Monitor the limits relevant to your workload and review them after errors or traffic changes. The value is in knowing they exist, so that a sudden 503 during a promotion reads as a capacity signal rather than a crisis, and so that a renewal conversation is grounded in which metric you are actually pressing against. Ask for the numbers before you buy, keep a note of them, and you will have a far clearer picture of what your plan can carry than the word unlimited ever provides.
Sources
- CloudLinux Documentation: Lightweight Virtualized Environment (LVE) Limits Overview Checked 2026-08-28
- Mozilla Developer Network (MDN): HTTP 503 Service Unavailable Checked 2026-08-28
- Mozilla Developer Network (MDN): HTTP 508 Loop Detected / Resource Exhaustion Checked 2026-08-28