Bug 2178863 - mpstat intermittently shows incorrect CPU usage on ALL CPU field for "iowait"
Summary: mpstat intermittently shows incorrect CPU usage on ALL CPU field for "iowait"
Keywords:
Status: VERIFIED
Alias: None
Deadline: 2023-03-27
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: sysstat
Version: 8.4
Hardware: All
OS: Linux
unspecified
low
Target Milestone: rc
: ---
Assignee: Lukáš Zaoral
QA Contact: Radka Brychtova
URL:
Whiteboard:
Depends On:
Blocks: 2178865
TreeView+ depends on / blocked
 
Reported: 2023-03-16 01:06 UTC by Christian Horn
Modified: 2023-08-03 10:15 UTC (History)
2 users (show)

Fixed In Version: sysstat-11.7.3-10.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 2178865 (view as bug list)
Environment:
Last Closed:
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Gitlab redhat/centos-stream/rpms sysstat merge_requests 7 0 None merged c8s: Fix incorrect CPU usage on ALL CPU field for iowait in mpstat 2023-03-16 12:03:42 UTC
Red Hat Issue Tracker RHELPLAN-152006 0 None None None 2023-03-16 01:10:01 UTC
Red Hat Knowledge Base (Solution) 7002982 0 None None None 2023-03-16 01:19:17 UTC

Description Christian Horn 2023-03-16 01:06:38 UTC
Description of problem:
mpstat on intermittently shows incorrect CPU usage on ALL CPU field for "iowait"

Version-Release number of selected component (if applicable):
All versions affected, affected customer here used sysstat-11.7.3-5.el8

How reproducible:
not easily

Steps to Reproduce:
1. On a bugger system, i.e. 32 cores, execute mpstat, for example "mpstat  -P ALL 1 1" or "mpstat  -P ALL 1 3600"

Actual results: 
Total CPU usage (%iowait) is 97.10%.
01:17:04 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
01:17:05 AM  all    0.00    0.00    0.01   _97.10_    0.00    0.00    0.00    0.00    0.00    2.88
01:17:05 AM   17    0.00    0.00    0.00   _99.91_    0.00    0.00    0.00    0.00    0.00    0.09

Expected results: 
Total CPU usage (%iowait) should be a value which is divided by 32, because the system has 32 CPUs.
01:17:04 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
01:17:05 AM  all    0.00    0.00    0.01  _3.12_    0.00    0.00    0.00    0.00    0.00    2.88
01:17:05 AM   17    0.00    0.00    0.00  _99.91_   0.00    0.00    0.00    0.00    0.00    0.09

Additional info:
- Issue exists also in upstream
- a build of mpstat with the following commit was reported to fix
  the issue for the customer:
  https://github.com/sysstat/sysstat/commit/1f5949d4a6fcb33065dbb1d509f356db039998ed

So, requesting this commit into RHEL.
Workaround exists, Performance Co-Pilot (PCP) provides independent code which
gathers metrics and provides with "pcp mpstat" an independent client of similar
output, which does not show the issue.

Comment 2 Lukáš Zaoral 2023-03-16 12:03:16 UTC
CentOS Stream 8 MR: https://gitlab.com/redhat/centos-stream/rpms/sysstat/-/merge_requests/7


Note You need to log in before you can comment on or make changes to this bug.