Skip to content

Reverse visualization of CPU usage between list view and history view

When System Monitor was released, it showed CPU usage differently from how ksysguard showed it:

ksysguard System Monitor
List/processes view Per-CPU Normalized to 100%
Graph/history view Overlapped, normalized to 100% Stacked + combined

Over time we have gotten a number of complaints about this change. Principally, the issue is that the new style makes the system look more idle than it really is. Imagine for example that you have 8 CPUs and one of them is pegged at 100% by some rogue process. In the old view, that process would show 100% cpu usage in the list view, and the history graph would show one CPU at 100%. It would be very obvious. In the new view, that one process would only appear to be using 12% CPU (100% / 8 CPUs) in the list view, and the history graph's Y axis would go up to 800%, with one CPU at the 100% mark. So the system woud look like it's 88% idle.

This isn't strictly speaking incorrect or inaccurate; from a technical standpoint of the amount of work that all the CPU cores are doing, the system is 88% idle. But this is arguably rather misleading about the true state of the system as the user perceives is. A system can be 88% idle and still feel like it's working too hard, producing too much heat, forcing the fans to too loud a volume, and so on. These are the kinds of cues that prompt the user to open System Monitor to find out what's wrong. So it's System Monitor's job to make that task easy, not hard.

To address that issue, this commit goes back to the display styles that ksysguard had: list views show actual CPU numbers per CPU (not averaged) and the CPU history graph shows CPU lines overlapped rather than stacked, with the Y axis showing 100% at the top rather than [100% x number of CPUs].

BUG: 434040 BUG: 449414 FIXED-IN: 6.0

@teams/usability @ahiemstra @davidre @davidedmundson

Merge request reports