A visitor sees "508 Resource Limit Is Reached" in the browser; the site owner opens a ticket. The message means CloudLinux refused to place an Apache/PHP request into the user's LVE because a limit was already maxed out. It is almost always the entry processes (EP) limit — but not always, and raising the wrong limit just moves the problem.
This is the order to diagnose it. Work top to bottom; stop when the data points at a cause. The audience is the host, not the end user — you have root.
1. Confirm it's LVE, not something else
508 is a CloudLinux-specific code emitted by mod_hostinglimits. A real 508 always leaves a
fault record. If lveinfo shows zero faults for the period the user complained about, you're
chasing the wrong error — check for a 503 from PHP-FPM or a WordPress fatal instead.
# Faults across all users in the last day, sorted by entry-process faults
lveinfo --period=1d --by-fault=mep --display-username
If the user's name shows up with a non-zero count, that's your 508. Note the number — it's how many requests were served a 508 in that window.
2. Find which limit is actually faulting
Don't assume EP. Pull the per-fault breakdown so you raise the right knob:
lveinfo -d --period=2h \
--show-columns="ID,CPUf,EPf,PMemF,NprocF,IOf,IOPSf" \
--display-username
Read the column with the non-zero count:
- EPf — entry processes. Default is 20 concurrent requests. By far the most common 508.
- NprocF — total processes/threads (default 100). Points at a fork bomb, a stuck cron, or
exec()loops. - CPUf — CPU speed (default 100% = one core). The site is genuinely compute-bound.
- PMemF — physical memory (default 1 GB RSS). A heavy plugin or a low
memory_limitmismatch. - IOf / IOPSf — disk throughput / operations. Usually an un-cached site hammering MySQL on disk.
For the exact moment a fault fired, read the snapshot — it records the offending PIDs and their resource usage:
lve-read-snapshot -u <username>
3. Decide: raise the limit, or fix the cause
A 508 is a symptom. Before you raise anything, ask whether the load is legitimate.
Raise the limit when the user is genuinely busy and on a plan that should allow it — a real traffic spike, a launch, a logged-in WooCommerce checkout crowd. Edit in WHM under Server Configuration → CloudLinux LVE Manager, find the user, click Edit, and bump the faulting limit. Or from the shell:
# Raise entry processes for one user to 40
lvectl set <username> --ep=40 --save
# Confirm
lvectl list | grep <username>
Fix the cause when the load is waste — and most chronic 508s are waste:
- No page cache. An un-cached WordPress site hits PHP+MySQL on every request and burns EP under any bot traffic. Turning on LSCache on cPanel often drops EP faults to zero with no limit change.
- Bot/crawler floods. Check the domain's access log for one aggressive user-agent or
xmlrpc.php/wp-login.phphammering. Block it at the firewall, not by raising EP. - suPHP or DSO instead of lsapi. Slow handlers hold a worker open for the whole request, so concurrency piles up. Switching to mod_lsapi keeps requests short — see mod_lsapi tuning.
- A slow upstream. A third-party API call blocking PHP for 8 seconds means 20 such hits exhaust EP instantly. That's an application bug, not a limit.
4. Set the package default sanely
If you're handing out 508s to brand-new accounts, the package default is too tight. Set realistic per-tier defaults once so you stop firefighting per-user — the full method is in CloudLinux LVE tuning, and the workflow for spotting repeat offenders is in reading LVE Manager statistics.
One cleanup while you're in there: set VMEM to 0 (disabled). Virtual memory limits are deprecated and produce confusing OOM-style faults that masquerade as other problems.
lvectl set-default --vmem=0 --save
What causes a 508 Resource Limit Is Reached error?+
How do I find which CloudLinux user is hitting 508?+
Should I just raise the entry process limit to fix 508?+
Is a 508 error the same as a 503 error?+
Next steps
- CloudLinux LVE tuning without angry customers
- Read LVE Manager statistics to find the offender
- Enable LSCache for WordPress on cPanel
Running CloudLinux unlicensed or on the wrong tier? Sort it from your CloudLinux license page, or ask us on contact.