When Apache reaches 100% CPU on a small VPS, do not begin by raising MaxRequestWorkers. First prove which Apache process is busy, identify the request or job doing the work, and fix that source. A higher worker limit usually creates more simultaneous work; on a 1 GB VPS it can turn a CPU incident into memory pressure and swap thrashing.
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
The reliable sequence is: capture the incident, map hot process IDs to mod_status, correlate the request with access, error, application and database logs, apply the narrowest cause-specific fix, then recalculate concurrency from measured memory. Only after that should you adjust the MPM, keep-alive behavior, static delivery or worker limits.
As an Amazon Associate I earn from qualifying purchases.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →What 100% Apache CPU usually means
The Apache process name identifies the web server doing the work, not necessarily the component causing it. A PHP route can run an expensive database query, an image-processing loop can consume a core, a crawler can request a costly page repeatedly, or a scheduled task can collide with normal traffic. A retry loop or attack can produce the same symptom.
Before changing configuration, establish whether the pressure is actually Apache CPU. Record a short window containing load average, user CPU, system CPU, steal time, memory used, swap activity, request rate and timestamps. High steal time points to contention on the VPS host; high system time may indicate networking or storage work; rising swap means the immediate risk is memory, even if CPU is the visible alarm.
#1 Best Overall
- BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
- EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
- COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
- LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
- WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.
Why a copied worker value is unsafe
MaxRequestWorkers is a concurrency ceiling, not a performance target. More workers can serve more simultaneous requests only when the CPU, RAM, database and application can sustain them. On a small VPS, each additional process or thread may compete for the same CPU and push the machine into swapping. There is no universal value for a 1 GB VPS because worker size, MPM, modules, traffic mix and other services differ.
Step 1: prove which Apache process is hot
- Run
top(or an equivalent process viewer) and sort by CPU. Intop, use the CPU sort command shown by your distribution, commonlyP. - Capture the Apache parent PID and the child or worker PIDs that remain near the top for several samples. A single short spike may be normal; a PID that stays hot needs attribution.
- Note whether the work is mostly user CPU, system CPU or steal time. Keep the timestamp so it can be matched to logs.
- Record memory and swap at the same moment. A CPU-only fix is unsafe if free memory is already falling.
Do not assume the parent process is executing the expensive request. In prefork, children handle requests; in worker and event, worker threads do. The parent is useful for identifying the process tree, while the status page and logs reveal the request.
Step 2: expose request details safely with mod_status
Apache’s server-status page is a starting point for finding requests or clients associated with resource exhaustion. Enable it only in an authenticated or tightly restricted administrative location. Never publish it to the open internet: the page can disclose client addresses, request paths, worker state and timing.
A minimal restricted configuration
The exact file differs by distribution, but the handler pattern is:
<Location "/server-status">
SetHandler server-status
Require local
</Location>
ExtendedStatus On
Require local limits access to the server itself on Apache versions using the modern authorization syntax. If administrators must connect remotely, use an authenticated, network-restricted location or an SSH tunnel rather than opening the endpoint globally. Reload Apache with your distribution’s normal, validated reload command after checking configuration syntax.
Sample while the spike is happening
- Open
/server-statusin a restricted session and refresh repeatedly during the incident. - For machine-readable output, request
/server-status?autoand save several samples with timestamps. - Match the request’s process ID, client, URI, worker state and elapsed activity to the hot PID from
top. - Repeat the sample. Requests are transient, so one page view can miss the expensive operation entirely.
Enable ExtendedStatus On when you need full request and client detail. Turn it back off when the investigation is complete if the extra accounting is not required for routine monitoring.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #2
- WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
- AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
- PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
- ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
- COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
Step 3: connect the hot request to its real cause
A URI is a lead, not a diagnosis. Correlate the status sample’s URI, client and timestamp with all relevant logs:
- Apache access logs for frequency, response size, status code and repeated clients.
- Apache error logs for timeouts, proxy failures, child exits and module errors.
- Application logs for route timing, exceptions, retries and background work started by a request.
- Database logs or slow-query traces for scans, locks and connection waits.
- Job and scheduler logs for cron tasks or queue consumers that began at the same time.
Look for one expensive dynamic endpoint, a crawler requesting the same costly URL, an abusive client, oversized responses, image or file processing, a broken redirect or retry loop, and a scheduled job that should not run during peak traffic. Compare request rate with CPU: a low request rate with high CPU often indicates expensive per-request work, while a sudden rate increase may indicate abuse or a cache miss storm.
Fix the narrowest source first
- Expensive application route: repair the query or algorithm, paginate large results, and cache or pre-render output that does not need to be generated for every request.
- Image or file processing: validate input limits and move heavy transformations to a queue so web workers return quickly.
- Abusive crawler or client: block it when clearly malicious, or rate-limit it when legitimate but excessive. Apply the rule at the narrowest layer available.
- Retry or redirect loop: inspect both application and proxy rules, then remove the loop before increasing concurrency.
- Scheduled work: reschedule, throttle or isolate the job from the web process.
Re-sample CPU, status and logs after the targeted fix. If the hot request disappears, a global worker change was unnecessary.
What MaxRequestWorkers actually controls
MaxRequestWorkers is the maximum number of simultaneous requests Apache will serve. In the prefork MPM, it caps child processes. In worker and event, it caps the total serving threads. Requests above the limit normally wait in the listen backlog until a worker becomes available; they are not processed concurrently.
Prefork, worker and event at a glance
| MPM | What the limit counts | Memory and compatibility considerations |
|---|---|---|
| prefork | Child processes | Often required by older non-thread-safe modules. Separate processes commonly consume more memory. |
| worker | Serving threads across child processes | Apache’s performance guidance describes a smaller memory footprint than prefork, but every loaded module and application component must be thread-safe. |
| event | Serving threads; connection waiting is handled more efficiently | Designed to free main threads while keep-alive connections wait. Confirm application, proxy and module compatibility before switching. |
Check the active MPM and loaded modules before editing configuration:
apachectl -M
Distribution-specific wrappers may use a different executable, but the module list should identify the active MPM. Record it before making changes so you can explain any behavior change and reverse it if necessary.
Rank #3
- Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
- Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
- Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
- ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
- Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
How to choose a safe value on a 1 GB VPS
The correct answer is a measurement, not a number copied from a forum. Start with the RAM that can safely be assigned to Apache after reserving memory for the kernel, TLS overhead, the database, PHP or another application runtime, monitoring agents and burst headroom.
Measure the resident memory of representative Apache workers under the real workload. Use several workers and a period that includes the expensive route; an idle process is not a useful sizing sample. Then use this operational heuristic:
Free tools Windows power users keep installed
One-click scans. No signup required.
safe worker ceiling = RAM available to Apache ÷ measured worker or thread cost
Reduce the result for bursts and for measurement uncertainty. This is a planning heuristic, not an Apache-published formula. For an illustrative worksheet only, if your measurements show 300 MB genuinely available to Apache and 30 MB per prefork child, the unadjusted quotient is 10; you would choose a lower tested ceiling rather than configure 10 automatically. Replace both numbers with your own measurements.
Why limited memory changes the decision
Apache’s prefork guidance says the setting must be high enough for expected simultaneous requests but low enough to leave physical RAM for all processes. On a limited-memory site, decreasing MaxRequestWorkers may be necessary to prevent thrashing and swapping. A lower ceiling can increase waiting during a burst, but that controlled queue is safer than allowing every request to create another memory-heavy process.
Keep related directives consistent
For worker and event, make MaxRequestWorkers consistent with ThreadsPerChild and the available ServerLimit. Values beyond what the system can handle can prevent startup or make the server unstable. Validate the configuration before reload and watch both resident memory and swap afterward.
Decide whether an MPM change is justified
Prefork is process-based and remains common when an older module or application is not thread-safe. Worker uses threads and generally has a smaller memory footprint. Event is designed to release main serving threads while keep-alive connections wait, allowing those threads to serve new requests. These advantages matter only when the entire stack supports the selected MPM.
Rank #4
- Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
- Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
- 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
- Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
- USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
Checklist before switching
- List the active MPM and every loaded module with
apachectl -M. - Confirm that the application runtime, extensions, proxy modules and authentication modules are thread-safe under worker or event.
- Test dynamic routes, uploads, authentication, long responses and WebSocket or upgrade traffic if used.
- Change one major variable at a time and keep a rollback configuration.
- Reload during a controlled window, then compare status samples, error logs, latency, CPU, memory and swap.
An MPM switch is a structural change, not a quick response to one hot request. If the status page identifies a single expensive route, fix that route first.
Review keep-alive and static-content costs
Connection handling can consume threads and sockets even when no application code is running. Review KeepAlive and KeepAliveTimeout against the traffic pattern. Apache’s performance guide documents a default KeepAliveTimeout of five seconds; the useful value for your VPS depends on client latency, connection reuse and available workers.
A timeout that is too long can leave scarce serving capacity tied to idle clients. A timeout that is too short can force repeated handshakes and extra CPU. Measure connection states and request latency before changing it rather than choosing a universally “fast” value.
Recommended Free Tools
Serve static assets efficiently so dynamic workers do not repeatedly generate or transform them. Use caching or a front-end proxy when it removes repeated dynamic work. Enable sendfile when the operating system and storage path support it, and verify the result: some storage, network filesystems or unusual deployment paths can make zero-copy delivery unsuitable.
Compare remedies before applying them
| Remedy | Root-cause effect | CPU impact | RAM and swap risk | Compatibility and rollback | How to verify |
|---|---|---|---|---|---|
| Repair or cache an expensive route | Removes the source of work | Usually lowers CPU per request | Often lowers both worker time and memory pressure | Application change; test route behavior and cache invalidation | Status elapsed time, application timing, access logs and CPU trend |
| Block or rate-limit an abusive client | Removes unwanted request volume | Reduces request processing when applied early | Reduces concurrency if the rule is effective | Easy to reverse, but avoid blocking legitimate users | Client counts, response codes, request rate and CPU |
Lower MaxRequestWorkers |
Caps concurrency; does not fix expensive work | May reduce contention, not per-request CPU | Can prevent swapping; may increase queueing | Configuration change; validate reload and capacity | Memory, swap, listen backlog, latency and status busy counts |
Raise MaxRequestWorkers |
Does not identify or remove a cause | Can increase simultaneous CPU work | Highest risk on a small VPS | Potential instability or failed startup if limits are excessive | Only consider with measured headroom and before-after data |
| Switch MPM | Changes concurrency architecture | May improve connection efficiency | Worker/event can reduce footprint when compatible | Module and application compatibility must be proven; rollback required | Functional tests, status, logs, memory, swap and latency |
Adjust keep-alive, static delivery or sendfile |
Reduces connection or repeated static-work costs | Can lower handshake and delivery overhead | May free workers, but depends on traffic | Usually reversible; storage paths need testing | Connection counts, static response timing and CPU trend |
Apply configuration changes safely
- Save the current Apache configuration and the incident measurements.
- Choose one change: a cause-specific application fix, a client rule, a worker limit, an MPM setting or a connection/static setting.
- Check syntax with the validation command supplied by your distribution before reloading.
- Reload rather than stopping the service when the configuration is valid and your service manager supports a graceful reload.
- Watch CPU, resident memory, swap, load average, request latency, error rate and status output for several normal and peak intervals.
- Revert promptly if errors, memory growth, queueing or latency worsen.
Do not combine a new MPM, a changed worker limit and a different keep-alive timeout in one deployment. If the result improves, you will not know which change helped; if it fails, recovery is harder.
Troubleshooting branches
/server-status shows nothing useful
The expensive request may have completed between refreshes. Use repeated samples or /server-status?auto, increase the sampling frequency during the spike, and correlate timestamps with access and application logs. Confirm that ExtendedStatus On is enabled when detailed fields are required.
Best Value
- Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
- Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
- Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
- Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
- Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
CPU is high but Apache requests look normal
Check steal time, system CPU, database activity, cron jobs and other processes. A VPS host problem, storage wait or a separate worker can coincide with normal Apache request data. The Apache label in top does not prove that Apache is the root cause.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallMemory rises after increasing workers
Undo the increase, inspect swap activity and recalculate from measured resident worker or thread cost. Leave room for the database, runtime and kernel. A smaller worker ceiling with a fixed application route is safer than allowing the machine to thrash.
Apache will not start after tuning
Restore the previous configuration, run the syntax test, and inspect the error log. For worker or event, check that MaxRequestWorkers, ThreadsPerChild and ServerLimit form a valid combination. Excessive values can exceed what the system can allocate or what Apache permits.
Changing keep-alive makes performance worse
Compare handshake rate, active connections, worker occupancy and latency before and after. A shorter timeout may increase connection setup CPU; a longer one may hold workers for idle clients. Return to the measured baseline if the traffic pattern does not benefit.
Static files still consume excessive CPU
Check whether requests are reaching the application instead of a static handler, whether compression or image transformation runs on every request, and whether caching headers permit reuse. Test sendfile only on a supported storage path and verify response correctness after enabling it.
Compact incident runbook
toporhtop: identify persistent hot PIDs and distinguish user, system and steal CPU.apachectl -M: record the active MPM and loaded modules.- Restrict
mod_status; enableExtendedStatus Onwhen full detail is needed. - Sample
/server-statusand/server-status?autorepeatedly. - Match PID, URI, client and timestamp to access, error, application, database and job logs.
- Fix the expensive route, abusive client, retry loop, scheduled job or attack.
- Recalculate
MaxRequestWorkersfrom measured memory and expected concurrency. - Change one MPM, connection or static-delivery setting at a time; validate and reload safely.
- Measure CPU, latency, memory and swap again, including a busy period.
When the VPS cannot be watched continuously
If you cannot maintain logs, status sampling and memory monitoring during incidents, managed Linux VPS monitoring or managed Apache operations can provide continuous alerting and response. The same evidence-based workflow still applies: identify the process, attribute the request, fix the source and verify the change. Outsourcing observation does not make an arbitrary worker limit safe.
Final decision rule
On a small VPS, treat high Apache CPU as an attribution problem first and a tuning problem second. A measured request, client or job should receive a targeted fix. MaxRequestWorkers should then be set low enough to protect physical RAM while covering tested concurrency, with MPM and keep-alive choices validated against the actual application stack. Monitor swap as closely as CPU, because a server that avoids a CPU queue by swapping is not healthy.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




