iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Antihost offers managed WordPress hosting with free migration, one-click staging and a 14-day free trial.
Apache at 100% CPU is a symptom, not a diagnosis. The fastest reliable method is to identify the high-CPU Apache process, match its process ID to the active request in server-status, then determine whether the expensive work is Apache itself, PHP-FPM, WordPress, a scheduled task, or unwanted traffic. After the cause is known, reduce repeated execution with caching, isolate faulty code, tune concurrency to available memory, and add capacity or traffic controls if legitimate demand still exceeds the server.
What 100% Apache CPU actually tells you
A CPU percentage by itself does not identify the request or component responsible. Depending on the operating system and monitoring tool, 100% can mean one core is fully occupied; a process can also show more than 100% when several cores are counted. Apache may simply be the visible worker while PHP-FPM, a plugin, a theme function, a cron task, or a loopback request is consuming the CPU behind it.
Windows 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 reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteDo not start by copying a generic Apache setting or restarting the server repeatedly. A restart removes the evidence and leaves the workload unchanged. Capture the active request and surrounding log entries while the problem is occurring, then make one controlled change at a time.
Collect evidence before changing configuration
1. Find the high-CPU Apache processes
Use top, htop, or an equivalent process viewer while the site is busy. Record the Apache PIDs with the highest CPU, their resident memory, and whether the same PIDs remain busy across several samples. A single short-lived spike can be normal; a repeating set of workers points to a request pattern or capacity problem.
#1 Best Overall
- Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
- With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
- Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
- Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
- Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.
Apache’s documentation describes server-status as a starting point for finding which requests or clients are consuming server resources. Enable it temporarily or leave it enabled only behind an administrator-only network restriction.
2. Enable and lock down mod_status
Enable the module using your distribution’s normal Apache module tooling, then add a protected status location to the appropriate virtual host or server configuration:
ExtendedStatus On
<Location "/server-status">
SetHandler server-status
Require ip 192.0.2.0/24
</Location>
Replace the documentation-only address above with your office VPN, bastion host, or other administrator network. Never expose the status page to the public internet: it reveals request, client, and worker details. Validate the configuration with your platform’s Apache config-test command (commonly apachectl configtest), reload Apache, and open /server-status from an allowed address.
3. Match PIDs to requests
Reload the status page while the high-CPU PIDs are still visible in top. Look for the worker PID, request path, client address, virtual host, and current state. Repeat the comparison several times because requests finish and workers change quickly. A request that appears in multiple samples is a stronger lead than one seen only once.
If the status page shows a PHP-backed URL, that does not prove PHP is the only cause; it identifies the Apache worker handling the request. Continue into PHP-FPM and WordPress diagnostics before deciding where to tune.
Rank #2
- Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
- Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
- Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
- Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
- Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
4. Read access and error logs around the same timestamps
Search the relevant virtual-host access log for repeated paths, status codes, user agents, and bursts. Check the error log for upstream timeouts, child-process errors, rewrite loops, exhausted workers, and database-related failures. Correlate timestamps with the PIDs and URLs from server-status.
Free tools Windows power users keep installed
One-click scans. No signup required.
| Evidence | Likely direction | Next check |
|---|---|---|
| Many requests for one uncached page or expensive query URL | WordPress/PHP execution is repeating | PHP-FPM slow requests, page-cache coverage, plugin and theme code |
Frequent wp-cron.php or loopback requests |
Scheduled work is overlapping or triggered on visits | Scheduled events, cron duration, and the code attached to those events |
| Large bursts from a few user agents or addresses | Bot or abusive traffic | Access-log patterns, rate limits, and edge filtering |
| Apache workers busy while PHP-FPM is idle | Static files, TLS, compression, connection handling, or a rewrite problem | Apache configuration, response sizes, and static-resource requests |
| PHP-FPM workers saturated or slow log entries present | Application code or database work is the bottleneck | Slow-request traces, plugin/theme paths, and database queries |
Separate Apache work from PHP-FPM work
When Apache is mainly waiting on PHP
On a typical WordPress installation Apache serves static files and proxies PHP requests to PHP-FPM. The Apache process can therefore appear busy or accumulate waiting requests even when the costly operation is inside PHP. Inspect PHP-FPM’s pool status and slow-request log at the same time as Apache status. PHP-FPM exposes slow-request metrics; use its documented status endpoint and slow-log settings, protected with the same administrator-only access control as server-status.
Interpret CPU figures in context: PHP documentation notes that percentages can exceed 100% when multiple CPU cores are counted. Compare the number of active, idle, and slow workers with the pool limit, request durations, and Apache’s upstream errors rather than treating one percentage as a universal threshold.
When Apache itself is doing the work
If high-CPU workers are serving static files or repeatedly processing rewrites, compression, or large responses while PHP-FPM remains healthy, inspect Apache modules and URL rules. Look for redirect or rewrite loops, uncompressed downloads, and clients repeatedly fetching assets. Fix the specific rule or response pattern before changing worker limits.
Use a safe observation window
Capture a few samples during normal traffic and during the spike. If you can reproduce the load, do it from a controlled client and note the exact URL, authentication state, query string, and response status. Avoid load testing a production site while it is already resource-starved.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #3
- 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
- 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
- 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
- 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
- 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
Check the WordPress execution paths most likely to overload a server
Uncached front-end requests
Anonymous page requests that miss the full-page cache execute Apache, PHP, WordPress, theme code, and often database queries. A burst of misses can create many simultaneous PHP requests even when the page itself is ordinary. Identify the URLs with low or absent cache hits and inspect why they are excluded or being purged.
wp-cron.php and loopback requests
WordPress uses loopback requests to start WP-Cron, and plugins or themes can register scheduled events. A slow event, an event scheduled too frequently, or several overlapping loopbacks can consume CPU and PHP workers. In the scheduled-events view or the responsible plugin’s settings, record the hook name, interval, last-run time, and duration. Remove obsolete events and correct the code or schedule that creates expensive work.
If visitor-triggered cron is causing bursts, move scheduling to a system cron mechanism only after confirming the host supports it and that every required event will still run. Keep one scheduling method active; running both visitor-triggered and system-triggered cron can duplicate jobs.
admin-ajax.php
Front-end widgets, live search, filters, dashboards, and logged-in features often call admin-ajax.php. In access logs, group requests by action, user, response time, and frequency. An action that performs a full query on every keystroke or refresh is a stronger target than the endpoint name alone. Add debouncing, narrower queries, pagination, or caching in the responsible feature rather than blocking the entire endpoint.
REST API and XML-RPC traffic
REST and XML-RPC requests can be legitimate integrations or automated abuse. Identify the route, authentication state, user agent, and status code before restricting anything. Protect only the expensive or unneeded operation; blocking required API routes can break mobile apps, editors, payment callbacks, or integrations.
Rank #4
- 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
- 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
- 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
- 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
- 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
Search and filter URLs
Unbounded searches and faceted filters can generate database-heavy requests with many unique query strings that bypass page caches. Check whether a plugin or theme is issuing repeated queries, whether results are paginated, and whether bots are enumerating combinations. Normalize or limit expensive parameters and ensure cache rules do not store private or user-specific responses.
Isolate a plugin or theme safely
When application code is suspected, deactivate all plugins and test the same request. If CPU use falls, reactivate plugins one at a time, retesting after each activation until the offending component is identified. Perform this on staging whenever possible; on a production site, schedule a maintenance window, preserve a rollback path, and warn logged-in users because deactivation can remove required features. Once isolated, update or reconfigure the component, replace the expensive operation, or obtain a fix from its maintainer.
Reduce repeated execution with caching
Full-page or reverse-proxy caching
WordPress performance guidance warns that without caching, requests can stack up and slow or crash the web and database server. A full-page cache or reverse-proxy cache stores a pre-built response for cacheable anonymous visitors, so subsequent hits do not execute the entire Apache, PHP, and WordPress path.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Verify that the cache is actually serving hits: inspect response headers, cache logs, and origin request counts. Purging on every small content change, varying on unnecessary cookies, or bypassing cache for all visitors can erase the benefit.
Keep dynamic paths out of the page cache
| Request type | Typical cache treatment | Reason |
|---|---|---|
| Public, anonymous article or landing page | Cache when the response is identical for visitors | Removes repeated PHP and database execution |
| Logged-in account or administrator page | Bypass page cache | Content is private and user-specific |
| Cart, checkout, payment, or order status | Bypass and preserve required cookies | State changes must not be served from another user’s response |
| Personalized, preview, or nonce-bearing response | Bypass or use narrowly scoped rules | Tokens and private data must remain valid |
| REST, XML-RPC, and AJAX endpoints | Cache only deliberately safe, public operations | Many calls are stateful or authenticated |
Persistent object caching
Where the host supports it, persistent object caching can reduce repeated database work that page caching cannot cover, especially for logged-in users and dynamic queries. It does not replace page-cache rules, PHP optimization, or a fix for an expensive plugin; measure hit rates and response time after enabling it.
Best Value
- 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
- 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
- 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
- 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
- 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
Control bots and abusive traffic without breaking WordPress
If logs show legitimate requests that the server can handle individually but not in the observed volume, add rate limiting at the web server or an upstream CDN/WAF. Filter by path, method, authentication state, or verified client behavior rather than imposing one blunt limit on the whole site. A CDN or WAF can absorb unwanted requests before they reach Apache, while origin caching reduces the cost of requests that are allowed through.
Test security rules against publishing, login, checkout, webhooks, REST integrations, and cache purges. A rule that blocks or caches a required dynamic path can create an outage even while CPU usage falls.
Tune MaxRequestWorkers only after identifying the workload
MaxRequestWorkers limits how many Apache workers can process requests concurrently. Apache documents it as a safeguard against spawning so many children that the operating system starts swapping. It is a capacity control, not a cure for an expensive request.
Estimate a safe ceiling
- Measure peak Apache child memory, and account for PHP-FPM workers, the database, the operating system, and other services.
- Reserve memory headroom so normal bursts do not force swapping.
- Divide the memory available for Apache by the measured peak memory per Apache worker to obtain a conservative upper bound.
- Compare that bound with the current
MaxRequestWorkersand withserver-statusobservations. - Change the value in a small step, reload Apache, and watch CPU, memory, swap activity, request queueing, response time, and error logs.
Understand the trade-off
| Change | Benefit | Risk |
|---|---|---|
Lower MaxRequestWorkers |
Protects RAM and can prevent swapping or total host failure | More requests queue or time out during bursts |
Raise MaxRequestWorkers |
Allows more concurrent requests when workers are lightweight and memory is available | Can multiply PHP/database work and exhaust CPU or RAM |
| Leave it unchanged while fixing the workload | Preserves a known baseline for comparison | Does not protect the host if the current limit already permits overload |
Do not copy a value from another server: hardware, PHP worker size, database usage, request mix, and active modules differ. Use status output and measured memory to guide the setting.
Decide whether the server lacks capacity
After caching, code isolation, cron cleanup, and traffic controls, replay the normal workload. If requests are legitimate, optimized, and still consume more CPU or memory than the machine can provide, the remaining problem is capacity. Increasing CPU or RAM, moving to a host with more suitable resources, or distributing traffic can be appropriate. SSD or NVMe storage may also help when database or filesystem latency is contributing, although faster storage will not fix a CPU-bound loop.
Document the workload that led to the decision: peak concurrent requests, PHP-FPM utilization, Apache worker counts, memory headroom, cache-hit behavior, and traffic sources. This prevents an upgrade from masking a recurring bot surge or defective code.
Quick Recap
A practical incident runbook
- Preserve access. Keep an administrator session and a rollback path; avoid repeated blind restarts.
- Sample the host. Record high-CPU Apache PIDs, memory, load, swap activity, and timestamps with
topor an equivalent tool. - Correlate requests. Use protected
server-statuswithExtendedStatus Onand match PIDs to URLs and clients across several samples. - Correlate logs. Group access and error-log entries by path, status, user agent, and burst timing.
- Check PHP-FPM. Compare active and idle workers with slow-request logging and upstream errors.
- Trace WordPress. Inspect uncached pages,
wp-cron.php, loopbacks,admin-ajax.php, REST/XML-RPC, search/filter URLs, and plugin/theme tasks. - Isolate code. Deactivate plugins in a controlled environment and reactivate one at a time if a plugin is implicated.
- Remove repeat work. Correct cache bypasses, add full-page or reverse-proxy caching for anonymous pages, and use persistent object caching where supported.
- Limit hostile volume. Apply targeted rate limits or CDN/WAF rules after confirming required dynamic paths still work.
- Tune concurrency. Adjust
MaxRequestWorkersonly from measured memory and workload data; monitor for queueing and swapping. - Re-test and document. Compare the same metrics before and after each change, then record the cause and the permanent fix.
Choose the remedy by the problem you actually found
| Remedy | Diagnostic visibility | Cache coverage | Concurrency effect | Traffic protection | Operational control required |
|---|---|---|---|---|---|
server-status plus process sampling |
Maps Apache PID to active request and client | None | None; observation only | None | Apache configuration and restricted admin access |
| PHP-FPM status and slow logging | Shows PHP pool pressure and slow requests | None | Reveals pool saturation; does not reduce it | None | PHP-FPM pool configuration and protected status access |
| Full-page or reverse-proxy cache | Cache logs identify hits and misses | Strong for anonymous public responses | Reduces origin concurrency on cache hits | Limited unless paired with edge filtering | Cache rules, purge controls, and dynamic-path exclusions |
| Plugin, theme, or cron fix | Identifies the application execution path | Only where the fixed path becomes cacheable | Removes expensive work at its source | None | WordPress administration, code access, and rollback testing |
MaxRequestWorkers adjustment |
Uses status and memory measurements | None | Trades queueing against RAM and swapping risk | None | Apache access and capacity monitoring |
| Rate limiting or CDN/WAF | Edge and origin logs show blocked or passed traffic | Can serve or protect cached public responses | Reduces abusive origin concurrency | Strongest for volumetric or repetitive bots | Accurate rules and testing of required dynamic paths |
| More CPU/RAM or a different host | Does not improve attribution | None by itself | Raises the available resource budget | None unless architecture changes | Migration planning and continued monitoring |
Prevent the next CPU incident
- Keep
server-statusand PHP-FPM status private but ready for the next incident. - Retain access and error logs long enough to compare normal and abnormal traffic patterns.
- Alert on sustained CPU, swap activity, PHP-FPM saturation, rising request latency, and cache-hit deterioration rather than one instantaneous percentage.
- Review scheduled WordPress events after installing or removing plugins so obsolete or duplicate hooks do not remain.
- Recheck cache exclusions whenever adding login, commerce, personalization, API, or webhook features.
- Load-test changes in a staging environment and record Apache, PHP-FPM, database, and memory behavior together.
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.

