Windows · Diagnosis

Everything says 20%. The PC still feels slow.

Utilization tells you how occupied the machine is. It does not tell you what your click is waiting for.

By Marcin Firmuga·Published 2026-07-29·15 min read

Start takes three seconds to open. File Explorer pauses before showing a folder. A browser tab turns white while you wait. Task Manager reports 18% CPU, 54% memory and 2% disk. Nothing is red, nothing is full, and the computer is still plainly slow.

The missing idea is the critical path. Your click starts a chain of work. One thread runs, a file is requested, a memory page is fetched, a driver completes an interrupt, and only then can the window draw. The action finishes at the speed of the slowest required step. The other seven CPU cores can be idle. The disk can move almost no data. Total utilization can look excellent while one link holds up the entire chain.

Your click follows a dependency chain
Input2 ms
App thread7 ms
Storage wait640 ms
Draw9 ms
The machine is mostly idle for this interval. Your action is still blocked for 640 ms.

That is why "nothing is at 100%" is not a diagnosis. This guide covers the six bottlenecks most often hidden by averages, the normal Windows tools that expose them, and the point where a full performance trace is worth the trouble.

In this guide
  1. Why normal percentages can hide a bad wait
  2. Six bottlenecks Task Manager can flatten
  3. The evidence-first test
  4. Start from the symptom, not a tweak list
  5. What PC Workman adds

Why normal percentages can hide a bad wait

A percentage usually combines work across both time and hardware. That is useful for a quick overview, but smoothing removes the exact thing that makes a computer feel bad: a short, local stall on a required resource.

Microsoft's Task Manager documentation gives a clean example. On a machine with eight logical processors, one logical processor at full capacity contributes only 12.5% to total CPU. On a 16-thread processor it is 6.25%. If an application must wait for that one busy thread, the available cores do not help. The whole action is serialized behind it.

Low utilization can mean waiting, not health. A thread waiting for disk, a network reply or a driver is not consuming CPU. The CPU graph may fall precisely because the application cannot continue.

Six bottlenecks Task Manager can flatten

1. One full logical processor

In Task Manager, open Performance, CPU, right-click the graph and choose Change graph to > Logical processors. You are not looking for one core that ever touches 100%. Scheduling moves threads around. You are looking for a repeatable pattern where one logical processor, or the total capacity of one logical processor spread between graphs, is saturated during the slow action.

Common cases include a game's main thread, decompression, a single-threaded installer, scripting in an application, and a shell extension holding File Explorer. More cores will not accelerate a section that cannot run in parallel.

2. A spike shorter than the graph

The default graph is a summary. A 150 ms CPU burst can make a window visibly pause and then vanish into a one-second sample. Sort the Processes or Details tab by CPU before reproducing the action, or use Performance Monitor for a counter log. When the delay is extremely short, Windows Performance Recorder and Windows Performance Analyzer preserve the timeline instead of averaging it away.

3. Storage latency without high transfer rate

A drive does not need to transfer hundreds of megabytes to block you. One required read with a 600 ms response time is enough. Open resmon, choose Disk and inspect Response Time while you reproduce the pause. Microsoft treats sustained disk latency as the important counter and explicitly separates it from throughput. Short spikes happen. Repeated long waits aligned with the symptom deserve attention.

If Disk shows 100% active time, the dedicated 100% disk guide explains why a busy percentage and a transfer speed are different measurements.

4. Hard faults and commit pressure

"Memory is at 70%" does not tell you whether the exact page an application needs is in RAM. A hard fault occurs when Windows has to retrieve that memory page from storage instead of an in-memory list. A few are normal. A burst aligned with every pause connects the memory manager to the symptom.

Resource Monitor shows Hard Faults/sec per process. Also read Available memory and committed memory, not just the big percentage. The high RAM guide explains the difference between useful cache, genuine pressure and a leak.

5. Low effective clock, temperature or a power limit

Twenty percent CPU at 600 MHz is not the same capacity as twenty percent at 4.5 GHz. A laptop on the wrong power mode, a hot processor dropping clocks, a charger or firmware limit, and an aggressive battery policy can all produce low-looking utilization because the available performance has already been reduced.

Read utilization together with effective clock, temperature and power. If the clock falls under the same workload as temperature or a power limit rises, continue with the thermal versus power throttling guide.

6. Driver DPC and ISR interference

Hardware interrupts and deferred procedure calls are normal parts of Windows. A poorly behaving device or driver can run them too often or too long, delaying threads that need regular timing. Microsoft's Windows Performance Analyzer documentation calls out the same pattern for playback and animation: excessive DPC or ISR time can leave too little processor time for the affected thread.

This is a trace-level diagnosis. Do not uninstall drivers because an internet checklist says "DPC". Record the bad interval with Windows Performance Recorder, inspect DPC/ISR activity in WPA, and look for peaks that align with the delay. Alignment matters more than a scary module name.

Hidden waitQuick evidenceTool for confirmation
One critical CPU threadOne logical processor's capacity is consumed during the pauseTask Manager logical graphs, then WPA CPU Usage
Short burstProcess jumps only when the action is repeatedPerfMon log or WPR/WPA
Storage latencyResponse time rises with the pauseResource Monitor or PerfMon
Hard page faultHard Faults/sec burst for the affected processResource Monitor, then WPA Memory
Reduced CPU capacityClock drops or never rises under the same workSensor history plus power-mode check
Driver interferenceRegular timing fault, often audio or animation tooWPR/WPA DPC/ISR timeline

The evidence-first test

  1. Name one symptom. "The PC is slow" is too broad. "Opening this local folder takes three seconds" can be measured.
  2. Make it repeatable. Use the same folder, application start, menu action or game scene. Note whether only the first attempt is slow.
  3. Mark the interval. Write down the second the action begins and ends, or make a screen recording with the clock visible. Correlation needs a timestamp.
  4. Check the cheap signals first. Logical processors, clock and temperature, Available memory, hard faults and disk response time.
  5. Change one cause, not five settings. Disconnect one suspect device, pause one confirmed sync client, change one power mode, then repeat.
  6. Trace only if the normal counters stay clean. WPR and WPA are for finding a wait that summaries cannot expose, not for decorating a guess with more graphs.
Do not start with debloating. Disabling services can change the timing enough to hide a symptom without fixing its cause. It also destroys your baseline. Measure the same action before and after one reversible change.

Start from the symptom, not a tweak list

SymptomFirst place to lookReason
Explorer pauses on one folderStorage response, thumbnail or shell extension, network pathThe rest of Windows is not on that path
Everything is slow after resumeClock, power mode, device/driver stateResume changes hardware state, not only startup apps
Typing or audio glitches at a rhythmDPC/ISR trace, USB/audio/network devicesRegular timing points to a periodic system component
First launch slow, second launch fastStorage, antivirus scan, cache or compilationWarm data changes the second run
Only one online app is slowNetwork, DNS, service response, app profileLocal utilization cannot explain a remote wait
Slow only after ten minutes of loadTemperature, clocks, power and memory growthThe fault depends on accumulated heat or state

What PC Workman adds

Task Manager is a snapshot. PC Workman is most useful here as context over time: processor and graphics load, memory, temperatures, clocks, power and the processes that were active around the slowdown. A history answers "what changed before it felt slow?" better than a window opened after the event.

The current build does not perform a full WPR/WPA trace, attribute DPC/ISR delays or expose every storage latency counter. Use Microsoft's tools for those jobs. PC Workman can narrow the interval and rule in or out heat, reduced clocks, memory pressure and ordinary process load before you escalate to a trace.

Short answers

Why is my PC slow when CPU and memory are low?

Because one required step is waiting. One thread, a storage request, a hard fault, a driver interrupt or a remote response can block the action while most of the machine stays idle.

Can one CPU core slow the whole PC?

Yes. One full logical processor is only 12.5% total CPU on an eight-thread system and 6.25% on a 16-thread system. If the action depends on that thread, unused cores do not shorten it.

What should I measure first?

Reproduce one exact action, then check logical CPU graphs, effective clock, available memory, hard faults and storage response time during the same interval.

Primary sources

Receipt PRO essay · silent failures The most dangerous bug does not crash. It succeeds. Six real failures that ran perfectly and did nothing, the week I let an assistant write more than I read, and the five checks that catch them. Read the essay →
Keep the history Task Manager loses. PC Workman records the system context around a slowdown, so the investigation starts with a time and a change, not a random tweak list. Free and open source. Analysis runs locally. Download for Windows.

If the hidden limit is video memory, continue with the VRAM guide for games and local AI →

MF

Marcin Firmuga

Developer of PC Workman · HCK_Labs

I build the monitor, then write the guide from the counters that actually separate one fault from another.