CPU Wait Time Calculator
Calculate I/O wait time percentage and its effect on overall CPU responsiveness.
About CPU Wait Time Calculator
iowait is CPU idle time specifically attributable to waiting on outstanding I/O — the CPU had nothing else to run and the only reason it wasn't 'plain idle' is that a process on that CPU is blocked on disk or network I/O. As a simplified capacity model, treating iowait as directly subtracted from 100% gives an 'effective CPU' figure that highlights how much compute capacity is effectively unavailable due to I/O bottlenecks rather than genuine CPU demand — a system with sustained high iowait often benefits far more from faster storage or more caching than from more CPU cores.
Formula
Effective CPU capacity
iowait% = iowait_ticks / total_ticks × 100; cpu_effective% = 100 − iowait%
- t_{iowait}
- iowait ticks
- t_{total}
- total ticks
Worked example
With the default values below, CPU Wait Time Calculator returns iowait % of 15.00%. Change any input above and every figure here is recalculated in your browser.
Inputs used
- iowait Ticks (from /proc/stat delta)minimum 0
- 1,500
- Total Ticks (from /proc/stat delta)minimum 1
- 10,000
- CPU Coresminimum 1
- 8
Results
- iowait %
- 15.00%
- Effective CPU % (100 − iowait)
- 85.00%
- Core-Equivalent Lost to I/O Wait
- 1.20
- Severity
- Moderate — some CPU cycles lost to I/O wait; monitor storage latency.
Step by step
- 1Values used
- 2Effective CPU capacity
- 3iowait %= 15.00
- 4Effective CPU % (100 − iowait)= 85.00
- 5Core-Equivalent Lost to I/O Wait= 1.20
- 6Severity= Moderate — some CPU cycles lost to I/O wait; monitor storage latency.
Assumptions and limits
- The result is derived only from the 3 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 2 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
Does high iowait mean the CPU is the bottleneck?
No — quite the opposite. High iowait means the CPU is idle specifically because it's waiting on I/O, so the bottleneck is the storage (or network) subsystem, not CPU compute capacity. Adding more CPU cores won't help; faster storage, better caching, or reducing I/O demand will.
Why is iowait counted as a form of idle rather than busy time?
Because the CPU genuinely isn't executing any instructions during that time — it's a sub-classification of idle that specifically flags 'idle, and there happens to be pending I/O from a process on this CPU', to distinguish it from ordinary idle with nothing pending, which is diagnostically useful even though both are technically 'not computing'.
Can iowait be misleading on multi-core systems?
Yes — per-core iowait can vary widely, and a single core showing high iowait due to one I/O-heavy process doesn't necessarily mean the whole system is I/O-constrained. Check per-core figures via `mpstat -P ALL` alongside `iostat -x` to correlate iowait with actual device-level latency and utilization.
