Compare commits
6 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| cf24ae546e | |||
| ed4f81131e | |||
| 031ccfb27f | |||
| f8da1c01f6 | |||
| 4e8f804869 | |||
| 8b08333277 |
@@ -46,7 +46,7 @@ PRE_KERNEL_2_6_18 1 kernel levels before removed the following to the disk stats
|
||||
#define RAW(member) (long)((long)(p->cpuN[i].member) - (long)(q->cpuN[i].member))
|
||||
#define RAWTOTAL(member) (long)((long)(p->cpu_total.member) - (long)(q->cpu_total.member))
|
||||
|
||||
#define VERSION "16p"
|
||||
#define VERSION "16q"
|
||||
char version[] = VERSION;
|
||||
static char *SccsId = "nmon " VERSION;
|
||||
|
||||
@@ -7615,9 +7615,7 @@ I/F Name Recv=KB/s Trans=KB/s packin packout insize outsize Peak->Recv Trans
|
||||
continue;
|
||||
|
||||
if (strlen(p->dk[i].dk_name) > 8)
|
||||
str_p =
|
||||
&p->dk[i].
|
||||
dk_name[strlen(p->dk[i].dk_name) - 8];
|
||||
str_p = &p->dk[i].dk_name[strlen(p->dk[i].dk_name) - 8];
|
||||
else
|
||||
str_p = &p->dk[i].dk_name[0];
|
||||
|
||||
@@ -7858,9 +7856,9 @@ I/F Name Recv=KB/s Trans=KB/s packin packout insize outsize Peak->Recv Trans
|
||||
total_rbytes += disk_read;
|
||||
total_wbytes += disk_write;
|
||||
total_xfers += disk_xfers;
|
||||
/* if (!show_all && (disk_read < 1.0 && disk_write < 1.0))
|
||||
continue;
|
||||
*/
|
||||
if (!show_all && total_busy < 1)
|
||||
continue;
|
||||
|
||||
if ((disk_read + disk_write) == 0
|
||||
|| disk_xfers == 0)
|
||||
disk_size = 0.0;
|
||||
@@ -7880,7 +7878,10 @@ I/F Name Recv=KB/s Trans=KB/s packin packout insize outsize Peak->Recv Trans
|
||||
mvwprintw(paddg, n + 2, 1, "Groups=%2d TOTALS %3d %5.1f%% %9.1f|%-9.1f %6.1f %9.1f", n, dgroup_total_disks, total_busy / dgroup_total_disks, total_rbytes, total_wbytes, (((double) total_rbytes + (double) total_wbytes)) / 1024, /* in MB */
|
||||
total_xfers);
|
||||
}
|
||||
DISPLAY(paddg, 3 + dgroup_total_groups);
|
||||
wmove(paddg, n + 4, 1);
|
||||
wclrtobot(paddg);
|
||||
DISPLAY(paddg, 3 + n);
|
||||
/*DISPLAY(paddg, 3 + dgroup_total_groups);*/
|
||||
} else {
|
||||
if (dgroup_loaded == 2) {
|
||||
fprintf(fp,
|
||||
23
nmon-incrase-cpumax-to-support-2048-cpus.patch
Normal file
23
nmon-incrase-cpumax-to-support-2048-cpus.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
From: Seeteena Thoufeek <s1seetee@linux.ibm.com>
|
||||
Date: Mon, 27 Oct 2025 15:45:00 +0000
|
||||
Subject: [PATCH] Increase CPUMAX to support up to 2048 CPUs
|
||||
|
||||
nmon currently fails on systems with high CPU counts due to a low CPUMAX setting.
|
||||
This patch increases the CPUMAX value to support systems with up to 2048 CPUs.
|
||||
|
||||
Signed-off-by: Seeteena Thoufeek <s1seetee@linux.ibm.com>
|
||||
|
||||
--- a/lmon16q.c.org 2025-10-27 12:31:04.676588387 +0530
|
||||
+++ b/lmon16q.c 2025-10-27 12:33:46.300416300 +0530
|
||||
@@ -1441,9 +1441,9 @@
|
||||
#define DISKMAX diskmax
|
||||
int diskmax = DISKMIN;
|
||||
|
||||
-/* Supports up to 780, but not POWER6 595 follow-up with POWER7 */
|
||||
+/* Supports up to 2048, but not POWER6 595 follow-up with POWER7 */
|
||||
/* XXXX needs rework to cope to with fairly rare but interesting higher numbers of CPU machines */
|
||||
-#define CPUMAX (192 * 8) /* MAGIC COOKIE WARNING */
|
||||
+#define CPUMAX (256 * 8) /* MAGIC COOKIE WARNING */
|
||||
|
||||
struct data {
|
||||
struct dsk_stat *dk;
|
||||
96
nmon.changes
96
nmon.changes
@@ -1,3 +1,19 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 12 15:42:05 UTC 2025 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- refresh nmon-incrase-cpumax-to-support-2048-cpus.patch (bsc#1247368)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 8 12:24:55 UTC 2025 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- add nmon-incrase-cpumax-to-support-2048-cpus.patch (bsc#1247368)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Feb 8 21:10:01 UTC 2025 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 16q:
|
||||
* bugfixes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 4 10:32:34 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
@@ -6,7 +22,7 @@ Mon Sep 4 10:32:34 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
+ CLI -B and GUI 'B' to toggle boxes around stats.
|
||||
+ CLI -^ and '^' to change units for Disk I/O KB/s -> MB/s -> GB/s.
|
||||
This happen temporarily too if the size of the statistic
|
||||
will not fit on-scree.
|
||||
will not fit on-scree.
|
||||
* Code changed to ensure clean compile for GCC 12
|
||||
|
||||
-------------------------------------------------------------------
|
||||
@@ -14,7 +30,7 @@ Sun Apr 10 13:41:59 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 16n:
|
||||
* 0 maximum CPUs for the Power10 E1080 (needed for massive Linux running SAP
|
||||
HAMA servers) and small fixes
|
||||
HAMA servers) and small fixes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 12 14:18:32 UTC 2019 - Martin Pluskal <mpluskal@suse.com>
|
||||
@@ -57,30 +73,30 @@ Thu Jan 10 13:06:47 UTC 2019 - Martin Pluskal <mpluskal@suse.com>
|
||||
|
||||
- Update to version 16h:
|
||||
* Internal code changes for robustness malloc() and
|
||||
snprintf/strncpy.
|
||||
* POWER pool_capacity now correctly divided by 100.
|
||||
snprintf/strncpy.
|
||||
* POWER pool_capacity now correctly divided by 100.
|
||||
* Online view ARM lscpu command column format depends on your
|
||||
hardware
|
||||
* Online view ALL /proc/cpuinfo format depends on your hardware
|
||||
and new lines - like MMU: Hash or MMU:
|
||||
* Online view POWER Welcome panel on POWER reports the top MHz
|
||||
* Online view POWER Welcome panel on POWER reports the top MHz
|
||||
- Drop manpage generation
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 18 12:39:35 UTC 2018 - aloisio@gmx.com
|
||||
|
||||
- Update to version 16g
|
||||
Small changes only:
|
||||
Small changes only:
|
||||
* Now cope with 192 physical CPU cores with SMT=8 (for POWER8
|
||||
servers)
|
||||
* Fixed bug reported with NFS automount in data capture mode
|
||||
+ Alternatively, completely switch off JFS stats in capture
|
||||
mode with "-J"
|
||||
mode with "-J"
|
||||
* Online view: remove File systems that are "not real" to
|
||||
reduce screen space. Hit "j" and then "J" to remove the
|
||||
pointless file systems
|
||||
* Online view: Small clean up of the titles for the Memory
|
||||
stats (m)
|
||||
stats (m)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 8 17:32:36 UTC 2016 - mpluskal@suse.com
|
||||
@@ -98,21 +114,21 @@ Sat Jun 18 18:42:06 UTC 2016 - mpluskal@suse.com
|
||||
Fri Apr 8 18:44:06 UTC 2016 - mpluskal@suse.com
|
||||
|
||||
- Update to 16e (boo#974718)
|
||||
* Boottime shown online in the Kernel "k" panel
|
||||
* Utilisation stats: /proc/stat now reports 10 Utilisation stats
|
||||
* Boottime shown online in the Kernel "k" panel
|
||||
* Utilisation stats: /proc/stat now reports 10 Utilisation stats
|
||||
including KVM guest VM CPU use = cool.
|
||||
* Bug caused Seg Faults core dumps fixed while collecting to a
|
||||
* Bug caused Seg Faults core dumps fixed while collecting to a
|
||||
file including top process stats.
|
||||
* Fix: Improved memory handling for extreme numbers of processes
|
||||
(1000's) or rapid exec of processes (100's in a millisecond)
|
||||
for large Linux servers. We have examples on Intel of 80 CPU
|
||||
* Fix: Improved memory handling for extreme numbers of processes
|
||||
(1000's) or rapid exec of processes (100's in a millisecond)
|
||||
for large Linux servers. We have examples on Intel of 80 CPU
|
||||
cores and POWER 160+
|
||||
* Online Dot "." command no longer also changes what is displayed
|
||||
as users said it was confusing.
|
||||
* Minor online start-up flash screen text changes to include C
|
||||
concise CPU stats and U for full Utilisation stats (all 10 of
|
||||
them) instead of a file.
|
||||
* Copyright and GPL v3 notice in the code plus online "h" and
|
||||
* Online Dot "." command no longer also changes what is displayed
|
||||
as users said it was confusing.
|
||||
* Minor online start-up flash screen text changes to include C
|
||||
concise CPU stats and U for full Utilisation stats (all 10 of
|
||||
them) instead of a file.
|
||||
* Copyright and GPL v3 notice in the code plus online "h" and
|
||||
nmon -h output
|
||||
- Improve manpage generation
|
||||
|
||||
@@ -127,30 +143,30 @@ Fri Mar 18 14:46:15 UTC 2016 - mpluskal@suse.com
|
||||
Sat Mar 12 07:54:50 UTC 2016 - mpluskal@suse.com
|
||||
|
||||
- Update to 16d
|
||||
* Source code re-indented.
|
||||
* Fixes for Welcome screen on Mainframe
|
||||
* Fixed for Curses handling when collecting data to file - big
|
||||
bug for main frame and x86.
|
||||
* Source code re-indented.
|
||||
* Fixes for Welcome screen on Mainframe
|
||||
* Fixed for Curses handling when collecting data to file - big
|
||||
bug for main frame and x86.
|
||||
- Changes for 16b
|
||||
* Fixes for Welcome screen on Mainframe
|
||||
* Fixed for Curses handling when collecting data to file - big
|
||||
bug for main frame and x86.
|
||||
* Fixes for Welcome screen on Mainframe
|
||||
* Fixed for Curses handling when collecting data to file - big
|
||||
bug for main frame and x86.
|
||||
- Changes for 16a
|
||||
* Nvidia GPU support - online & saved to file
|
||||
+ You need a S822LC With NVIDIA GPU(s) and Nvidia Library
|
||||
installed libnvidia-ml.so
|
||||
* CPU Wide View - online view for up to 192 CPUs
|
||||
* CPU MHz per Core ratings for machine that allow cores with
|
||||
different MHz - online & saved to file
|
||||
* lscpu stats capture - online & to file
|
||||
* Z experiment mode showing CPU interrupts - Renamed U stats in
|
||||
version 16b - online only
|
||||
* Online colourising stats to aid usability - online only
|
||||
* Massive improvement in help information: nmon -? and nmon -h
|
||||
* Code change to alphabetic order for getopt() and key input
|
||||
+ You need a S822LC With NVIDIA GPU(s) and Nvidia Library
|
||||
installed libnvidia-ml.so
|
||||
* CPU Wide View - online view for up to 192 CPUs
|
||||
* CPU MHz per Core ratings for machine that allow cores with
|
||||
different MHz - online & saved to file
|
||||
* lscpu stats capture - online & to file
|
||||
* Z experiment mode showing CPU interrupts - Renamed U stats in
|
||||
version 16b - online only
|
||||
* Online colourising stats to aid usability - online only
|
||||
* Massive improvement in help information: nmon -? and nmon -h
|
||||
* Code change to alphabetic order for getopt() and key input
|
||||
functions - just code clean up
|
||||
* New nmon logo on flash screen - online only
|
||||
* Extra kernel stats - online only
|
||||
* New nmon logo on flash screen - online only
|
||||
* Extra kernel stats - online only
|
||||
- Drop nmon.1 and genereate manpage during build
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package nmon
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC and contributors
|
||||
# Copyright (c) 2011-2013 Pascal Bleser <pascal.bleser@opensuse.org>
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
@@ -18,13 +18,14 @@
|
||||
|
||||
|
||||
Name: nmon
|
||||
Version: 16p
|
||||
Version: 16q
|
||||
Release: 0
|
||||
Summary: Performance Monitor
|
||||
License: GPL-3.0-only
|
||||
URL: https://nmon.sourceforge.io/pmwiki.php
|
||||
Source0: https://sourceforge.net/projects/nmon/files/lmon%{version}.c
|
||||
Source1: https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
Patch1: nmon-incrase-cpumax-to-support-2048-cpus.patch
|
||||
BuildRequires: ncurses-devel
|
||||
Provides: lmon = %{version}
|
||||
|
||||
@@ -53,6 +54,8 @@ important performance information in one go. It can output the data in two ways
|
||||
|
||||
%prep
|
||||
%setup -q -T -c %{name}-%{version}
|
||||
install -m 644 %{SOURCE0} lmon%{version}.c
|
||||
%autopatch -p1
|
||||
|
||||
%build
|
||||
export CFLAGS="%{optflags} \
|
||||
@@ -64,7 +67,7 @@ export CFLAGS="%{optflags} \
|
||||
%if !0%{?is_opensuse}
|
||||
-D SLES12 \
|
||||
%endif
|
||||
%{SOURCE0}"
|
||||
lmon%{version}.c"
|
||||
export LDFLAGS="-o nmon \
|
||||
-lncurses \
|
||||
-lm \
|
||||
|
||||
Reference in New Issue
Block a user