Skip to content
~/Performance Analyzer
$

Performance Analyzer

Paste output from top, vmstat, iostat, or free and get instant visual breakdowns, health indicators, and actionable recommendations.

What does this analyzer do?

Paste raw terminal output from top, vmstat 1 5, iostat -x, or free -m and the tool parses it into visual bars, color-coded health indicators, and severity-rated recommendations. Each tab includes a Load Sample Data button so you can see what a stressed system looks like before pasting your own. Parsing happens entirely in your browser β€” nothing you paste is uploaded anywhere β€” so it is safe to analyze output copied from production servers.

How do I read load average?

The three numbers in top β€” for example 3.42, 2.85, 2.10 β€” average the count of runnable plus uninterruptible processes over the last 1, 5, and 15 minutes. They only mean something relative to core count: a load of 4 is fine on an 8-core box but saturation on 2 cores. Run nproc to get your core count, then divide. If the 1-minute figure sits far above the 15-minute one, the pressure is recent and still climbing.

Why is load high but CPU mostly idle?

Because Linux load counts processes stuck in uninterruptible sleep (state D), not just ones burning CPU. High load with high idle almost always means I/O wait: processes blocked on slow disks or NFS mounts. Check the wa column in the %Cpu(s) line β€” sustained values above 5% deserve attention, and above 20% is a serious bottleneck. Confirm with iostat -x and look at await and %util for each device.

What is CPU steal time (st)?

Steal is time your virtual machine wanted to run but the hypervisor handed the physical CPU to someone else. On bare metal it is always zero. On cloud VMs, steal above 2% suggests a noisy neighbor or an overcommitted host, and above 10% your instance is being throttled hard β€” burstable types like AWS t3 show exactly this when CPU credits run out. The fix is usually a bigger or different instance, not tuning your code.

Does my server actually need more RAM?

Do not panic when free shows almost no free memory β€” Linux deliberately uses spare RAM for buff/cache and releases it on demand, so the number that matters is the available column. The real red flag is swap actively churning: in vmstat, nonzero si and so columns mean pages are moving between RAM and disk right now, which destroys latency. Used swap with zero si/so is just cold pages parked from long ago and is harmless.

What do iostat await and %util mean?

r_await and w_await are the average milliseconds each read or write spent queued plus being serviced. Single-digit values are normal for SSDs; sustained numbers above 10ms are elevated and above 20ms point to a saturated or failing disk. Treat %util with care: it only shows the share of time the device had at least one request in flight, so NVMe drives that serve many requests in parallel can deliver excellent latency even at 90% util.

Which tool should I run first when a server is slow?

A practical order: uptime for load at a glance, then top to see whether the pressure is CPU (us/sy), I/O (wa), or memory (swap in use, low available). If it looks like I/O, run iostat -x 1 to find the slow device; if memory, run free -m and vmstat 1 5 and watch si/so. Paste each output into the matching tab here and the analyzer flags the same thresholds experienced sysadmins check by eye.