Advertising disclosure: We may earn a commission from links on this site. Commercial relationships can affect placement. Product facts, limitations, and source dates remain part of our editorial record.

How funding works
Buying Guides

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.

Review sources
Research standard

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

  1. CloudLinux Documentation: Lightweight Virtualized Environment (LVE) Limits Overview Checked 2026-08-28
  2. Mozilla Developer Network (MDN): HTTP 503 Service Unavailable Checked 2026-08-28
  3. Mozilla Developer Network (MDN): HTTP 508 Loop Detected / Resource Exhaustion Checked 2026-08-28