Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
VGSources
Blog

How to Fix High Apache CPU Usage on a Small VPS

Find the request behind 100% Apache CPU, fix the real source, and calculate a safe MaxRequestWorkers limit for a small VPS without triggering swap thrashing.
Length11 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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
Sale
Gaoye Blue Light Blocking Glasses
  • 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

  1. Run top (or an equivalent process viewer) and sort by CPU. In top, use the CPU sort command shown by your distribution, commonly P.
  2. 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.
  3. Note whether the work is mostly user CPU, system CPU or steal time. Keep the timestamp so it can be matched to logs.
  4. 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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

  1. Open /server-status in a restricted session and refresh repeatedly during the incident.
  2. For machine-readable output, request /server-status?auto and save several samples with timestamps.
  3. Match the request’s process ID, client, URI, worker state and elapsed activity to the hot PID from top.
  4. 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Windex Gaming Cleaning Wipes, Pre-Moistened Wipes to Instantly Clean all Gaming Gear and Electronics, Resealable Packaging for a Freshness Lock, 25 count (Pack of 1)
  • 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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
Sale
LISEN Cell Phone Stand Phone Holder for Desk, Office Decor Gadgets for Men
  • 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Ledagic IC+RGBW USB Powered Led Light Bar with App & Remote Control, 2 Pack
  • 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Apply configuration changes safely

  1. Save the current Apache configuration and the incident measurements.
  2. Choose one change: a cause-specific application fix, a client rule, a worker limit, an MPM setting or a connection/static setting.
  3. Check syntax with the validation command supplied by your distribution before reloading.
  4. Reload rather than stopping the service when the configuration is valid and your service manager supports a graceful reload.
  5. Watch CPU, resident memory, swap, load average, request latency, error rate and status output for several normal and peak intervals.
  6. 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
Sale
HUANUO FlowLift™ Dual Monitor Stand, Fully Adjustable Gaming Monitor Desk Mount for 13–32″ Computer Screens, Full Motion VESA 75x75/100x100 with C-Clamp & Grommet Base, Each Arm Holds 4.4 to 19.8 lbs
  • 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Memory 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Compact incident runbook

  1. top or htop: identify persistent hot PIDs and distinguish user, system and steal CPU.
  2. apachectl -M: record the active MPM and loaded modules.
  3. Restrict mod_status; enable ExtendedStatus On when full detail is needed.
  4. Sample /server-status and /server-status?auto repeatedly.
  5. Match PID, URI, client and timestamp to access, error, application, database and job logs.
  6. Fix the expensive route, abusive client, retry loop, scheduled job or attack.
  7. Recalculate MaxRequestWorkers from measured memory and expected concurrency.
  8. Change one MPM, connection or static-delivery setting at a time; validate and reload safely.
  9. 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.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.