Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk10 min

How to Fix 100% CPU Usage on an Ubuntu Server

A 100% CPU alert is a symptom, not a diagnosis. This Ubuntu guide shows how to identify the process or thread, distinguish CPU work from I/O wait, map it to systemd, apply the least disruptive fix and validate performance.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Start by finding which process or thread owns the CPU time, then determine whether it is genuinely CPU-bound or merely waiting on storage. Use uptime, top, nproc (or lscpu), and a process snapshot before stopping anything. A safe fix targets the responsible workload or service, verifies the result under the same load, and only then adds limits or CPU-affinity rules if they are justified.

A 100% reading is contextual. In top, a task’s %CPU is its share of elapsed CPU time; on a multi-CPU system a multithreaded task can exceed 100%. Load average is a different measure that also counts tasks waiting for disk I/O, so a high load with modest CPU utilization can indicate a storage bottleneck rather than a processor bottleneck.

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% CPU actually means

A task can exceed 100% on a multi-CPU host

top reports a task’s percentage of elapsed CPU time. On a single logical CPU, one continuously running thread approaches 100%. On a host with several logical CPUs, multiple threads can run at once, so one process may legitimately report more than 100%. Compare the process value with the number returned by nproc or the online-CPU information in lscpu. A process at 240% on a machine with eight logical CPUs is using roughly three CPU-equivalents, not the entire host.

Do not decide that a process is runaway solely from one sample. Record whether one core is saturated or many are busy, whether the value persists, and whether the service’s latency or throughput is deteriorating. A short compilation burst and a retry loop that has run for hours require different responses.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

Load average is not CPU utilization

The Linux load figures shown by uptime and top are one-, five-, and 15-minute averages. Ubuntu’s /proc/loadavg definition counts jobs in the run queue (state R) and jobs waiting for disk I/O (state D) over those windows. Consequently, load can remain high after a burst has ended, and it can be high while CPU utilization is comparatively low when storage is blocking many tasks.

Interpret the load against the online CPU count and the CPU-state breakdown. A load of 8 on an eight-CPU host means sustained queueing pressure; it is not proof that all eight CPUs are executing instructions. If %wait is large or many processes are in D state, investigate storage, filesystem, or network-backed I/O before tuning a CPU-bound application.

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

First response: establish a baseline

  1. Capture the time window. Run uptime and write down the one-, five-, and 15-minute load averages. The different windows tell you whether the pressure is new, persistent, or clearing.
  2. Observe CPU states. Run top. Note the overall user, system, wait, idle, and other CPU percentages, and whether one logical CPU or many are busy. Leave it running long enough to see whether the same task remains at the top.
  3. Count CPUs. Run nproc, or inspect the online CPU count with lscpu. Keep this count beside every process percentage so a value above 100% is interpreted correctly.
  4. Preserve evidence. Record the command, timestamp, process ID, parent process ID, user, state, elapsed time, command line, and the service’s user-visible symptoms. This makes before-and-after validation possible and prevents an emergency change from erasing the clues.

If the machine is becoming unresponsive, take the snapshot before killing a process. A process that disappears may have been the symptom of a failed dependency, while the underlying cause remains.

Find the process and the thread consuming CPU

Use an interactive view first

In top, sort the task list by CPU and watch the leading entries for more than one refresh. If a process may be multithreaded, enable its thread view and inspect which individual threads are active. Thread-level data distinguishes one hot worker from a process whose entire pool is busy.

Take a reproducible process snapshot

For a one-time, scriptable view, run:

ps -eo pid,ppid,user,stat,pcpu,pmem,etime,cmd --sort=-pcpu

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

The output gives you the process ID (pid), parent (ppid), account, state, CPU percentage, memory percentage, elapsed run time, and full command, sorted with the highest CPU consumers first. Check whether the command is an expected worker, a scheduled job, or an unfamiliar executable. The stat field is especially useful: runnable work is typically R, while D indicates uninterruptible waiting commonly associated with I/O.

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

Sample repeatedly when a spike is intermittent

cpustat reports active tasks over repeated samples and can add load, frequency, and online-CPU information. It is useful when a short-lived process vanishes between manual checks. For per-thread CPU and scheduler behavior, run:

pidstat -u -w -t 1

This reports CPU usage, context-switch behavior, and individual threads at one-second intervals. A thread with high user CPU is executing application code; high system CPU means more time is being spent in kernel or system-call work. Frequent voluntary or involuntary context switches can point to contention or a synchronization problem even when aggregate CPU is not at the host maximum.

Command Best use Evidence it provides
top Live triage Overall CPU-state breakdown, load averages, top tasks, and optional thread view.
ps -eo pid,ppid,user,stat,pcpu,pmem,etime,cmd --sort=-pcpu Point-in-time inventory Owner, process hierarchy, state, CPU and memory percentages, elapsed time, and command line.
cpustat Repeated task sampling Active tasks with optional load, frequency, and online-CPU information.
pidstat -u -w -t 1 Thread and scheduler analysis Per-thread CPU, context-switch behavior, and one-second samples.

Decide whether the bottleneck is CPU or waiting

Signs of a CPU-bound workload

High user CPU across one or more threads, a large runnable (R) population, and low wait time indicate work is actively executing. Typical causes include an accidental busy loop, an unbounded retry policy, an oversized batch, an expensive query, compilation, media processing, or a scheduled job that started at the same time as the incident. Confirm the command line and parent process before changing it; a legitimate batch may be important even when it is expensive.

Signs of kernel or I/O pressure

A high system-CPU share means the kernel is doing substantial work for the process. A high wait share, many D-state tasks, or a high load average with relatively low user CPU points toward disk, filesystem, network, or storage latency. Use iostat and the storage, filesystem, and network telemetry available on the host to confirm latency and queueing. Do not “fix” an I/O stall by killing whichever process happens to be visible; that can remove the reader while the saturated device remains the bottleneck.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by

Use the process state as a branch point

  • R and high user CPU: investigate the application’s loop, workload size, query, or job schedule.
  • R and high system CPU: inspect syscall-heavy behavior, network activity, filesystem operations, and kernel-related contention.
  • D and high load with lower CPU: investigate storage or other I/O dependencies and their latency.
  • Mixed states: separate the threads or processes and fix the dominant contributor instead of applying one host-wide change.

Map the PID to the service that owns it

A PID is not always the right administrative unit. A worker may be launched by a service, timer, container-related unit, or another supervisor. For a service-owned process, run:

systemctl status <PID>

Systemd resolves the process to its unit and displays the cgroup context, status, and recent service information. If you already know the unit, use systemctl status <service> to see the same ownership and logs. This step prevents stopping a child while its supervisor immediately starts another one.

For lower-level confirmation, run:

cat /proc/<PID>/cgroup

Modern Ubuntu systems use a unified hierarchy managed by systemd. The cgroup path shows membership and is the boundary at which CPU and other resource controls can be applied. If the PID has no obvious service owner, inspect its parent chain, command path, package ownership, authentication logs, scheduled jobs, and network activity before treating it as disposable.

Remediate from least disruptive to most disruptive

1. Correct the workload that caused the spike

The durable fix is usually in the application or job: stop a retry loop, correct a query, reduce an excessive batch, repair a scheduler entry, or fix a worker that is processing the same item repeatedly. Check application logs and the timestamps from your baseline. A restart can clear symptoms while leaving the trigger intact, so identify the condition that will recur after the next deployment or scheduled run.

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

2. Restart or stop only the responsible service

If a managed daemon is wedged and its failure mode is understood, use the service’s systemd controls rather than killing an arbitrary child. A restart preserves the unit’s supervision and configuration; a stop is appropriate when the workload must remain offline while you investigate. Confirm the expected availability impact, dependent services, and whether systemd will automatically restart the process.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

Do not use a host reboot as the first response to a known runaway process. Rebooting destroys volatile evidence, interrupts unrelated workloads, and may simply bring the same faulty job back.

3. Contain a service with cgroup controls

When the service must remain available but is starving other workloads, apply a systemd cgroup property with systemctl set-property (or the equivalent cgroup control) at the service boundary. A CPU cap or priority change trades some throughput or latency for protection of the rest of the host. Document whether the property is temporary or persisted, and make sure the limit is compatible with the service’s normal workload; an overly tight cap can create timeouts and a larger queue.

4. Use affinity or isolation only for a measured requirement

CPU affinity and isolation can reserve particular CPUs or keep a workload away from other tasks, but placement alone does not demonstrate a performance improvement. Ubuntu’s affinity guidance is explicit: measure application throughput and latency under identical load before and after tuning. Check scheduler behavior, context switches, load average, and error rates as well as CPU percentage. Remove the affinity rule if it reduces useful capacity or merely moves the queue to fewer CPUs.

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.

5. Treat unexpected workloads as a security incident

An unfamiliar high-CPU process, a sudden executable in a writable directory, repeated crashes, or unexplained outbound connections can indicate unauthorized software or a miner. Preserve the command line and process tree, then review package and authentication records, scheduled tasks, service definitions, and network logs. Contain the host according to your incident procedure. Do not delete files or kill processes before collecting enough evidence to understand persistence and scope.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Validate the change instead of trusting the new percentage

Repeat the same observation window and, where possible, the same application workload. Compare CPU utilization, one-, five-, and 15-minute load, request latency, throughput, error rate, and context-switch behavior before and after. If storage was implicated, compare device latency and queueing as well. A lower CPU number is not a success if requests are slower, errors increase, or the work is simply waiting in a longer queue.

  1. Run the same uptime, top, ps, and, when relevant, pidstat measurements used for the baseline.
  2. Confirm that the original PID or service is behaving as expected and that systemd has not spawned a replacement with the same defect.
  3. Measure the user-visible objective: latency, throughput, completion time, or availability.
  4. Keep the change only when the objective improves without unacceptable impact on dependent workloads. Record the command, cgroup property or configuration, timestamp, and rollback method.

Choose an intervention by scope and risk

Intervention Scope Reversibility Main service trade-off Evidence needed
Fix the application, query, retry loop, or job Specific workload Depends on the code or job change May alter behavior, batch duration, or correctness if poorly designed Process/thread data plus application logs and workload context
Restart a managed service One service and its workers Temporary; the service can be started again Brief availability interruption and possible loss of in-memory state Known failure mode and understood restart impact
Stop a service One service and dependents Temporary until started again Service becomes unavailable Decision that containment is safer than continued operation
Systemd or cgroup CPU control Service cgroup Reversible when the property is removed or changed Lower throughput, increased latency, or queue growth Evidence that containment is needed and a workload-aware limit
CPU affinity or isolation Selected process, service, or CPUs Reversible but configuration can persist Less scheduling flexibility and possible loss of useful capacity Before-and-after throughput and latency under identical load

Common failure modes and recovery paths

The displayed process is gone

A short-lived job may have finished between samples. Use repeated cpustat or pidstat sampling, inspect the parent service or timer, and correlate timestamps with application and scheduler logs. Fix the recurring trigger rather than waiting for the next PID.

One process shows more than 100% and appears to “own the server”

Check nproc or lscpu, then inspect threads. The process may be using several cores but still leave capacity for other work. Compare the host-wide CPU state and service latency before imposing a cap.

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

Load is high but CPU looks moderate

Look for D-state tasks, high %wait, and storage or filesystem latency. Use iostat and related telemetry. Reducing CPU for an I/O-bound process does not remove the device queue and can make completion slower.

Restarting immediately brings the spike back

Check service logs, timers, retry settings, input data, and parent-child relationships. If systemd is configured to restart the unit, killing a child only causes another child to appear. Correct the workload or temporarily contain the service while investigating.

An affinity change reports success but users see no improvement

Placement confirmation is not a performance result. Re-run the identical workload comparison and inspect latency, throughput, load, and context switches. Roll back the affinity or isolation rule when the user-visible objective does not improve.

Make recurring incidents easier to diagnose

Retain a lightweight baseline for CPU state, load averages, process ownership, and service latency so that an alert contains context rather than a single percentage. Process-level CPU alerts should include the PID or unit, command line, thread information when available, and whether the host is CPU- or I/O-bound. Pair those alerts with service logs and storage telemetry. This lets you distinguish a legitimate scheduled batch from a runaway loop and apply a targeted, reversible response instead of rebooting the host.

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

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 from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

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.