You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(procs): add --lengthy parameter and per-process memory details to --top table
Show platform-specific memory fields (RSS, VMS, Shared, etc.) in the
--top process table. Without --lengthy, a compact view is shown (CPU
Total, RSS). Fix the --top table to filter by zero CPU time instead
of sleeping status. Dynamically detect available memory_info fields
from the installed psutil version for forward compatibility.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,7 +39,8 @@ Monitoring Plugins:
39
39
* infomaniak-swiss-backup-devices: add `--ignore-customer`, `--ignore-name`, `--ignore-tag`, `--ignore-user` parameters to skip devices by regex
40
40
* infomaniak-swiss-backup-products: add `--ignore-customer`, `--ignore-tag` parameters to skip products by regex
41
41
* nextcloud-enterprise: provides information about an installed Nextcloud Enterprise subscription
42
-
* procs: add `--top` parameter to list the top N processes by CPU time (user/system/total) with status, excluding sleeping processes by default
42
+
* procs: add `--lengthy` parameter for extended `--top` table output with all platform-specific memory fields
43
+
* procs: add `--top` parameter to list the top N processes by CPU time and memory usage
43
44
* procs: add `--warning-cpu-percent` / `--critical-cpu-percent` thresholds for aggregated CPU usage of filtered processes (requires SQLite for delta calculation between runs)
44
45
* statuspal: also detect 'emergency-maintenance' state
45
46
* valkey-status: support user and password credentials [PR #954](https://github.com/Linuxfabrik/monitoring-plugins/pull/954), thanks to [Claudio Kuenzler](https://github.com/Napsty)
Copy file name to clipboardExpand all lines: check-plugins/memory-usage/README.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,6 +27,11 @@ Monitors physical memory utilization with threshold-based alerting on overall me
27
27
* Memory usage calculations differ between tools (top, htop, free) due to different counting methods and kernel versions
28
28
* This check uses psutil's cross-platform `available` metric for consistency
29
29
* Process memory percentages may sum to >100% on Linux due to shared memory accounting
30
+
* The `--top` list reports RSS per process from psutil's `memory_info()`:
31
+
32
+
| Field | Description |
33
+
|----|----|
34
+
| rss | Resident Set Size. The non-swapped physical memory a process has used. On UNIX matches the `top` RES column. On Windows maps to `WorkingSetSize`. |
Copy file name to clipboardExpand all lines: check-plugins/procs/README.md
+63-11Lines changed: 63 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,8 +6,38 @@ Prints the number of currently running processes and warns on metrics like proce
6
6
7
7
Hints:
8
8
9
-
* Memory: We count RSS, also known as 'Resident Set Size' or 'Res'. This is the amount of physical memory that a process has used that has not been swapped out. In UNIX, it matches the 'RES' column in 'top'. Note the differences in memory counting between tools such as 'top', 'htop', 'glances', 'GNOME System Monitor' and others. The way memory is counted also changes between different Linux kernel versions. On Windows, this is an alias for the wset field, matching the 'Mem Usage' column in taskmgr.exe.
10
9
* CPU usage: The `--warning-cpu-percent` and `--critical-cpu-percent` thresholds compare the aggregated CPU usage of all matching processes against the given threshold. This requires at least two consecutive check runs for the delta calculation. A value of 100% equals one fully utilized CPU core. On multi-core systems, values above 100% are possible.
10
+
* Memory: The `--top` table reports per-process memory fields from psutil's `memory_info()`. Note the differences in memory counting between tools such as `top`, `htop`, `glances`, `GNOME System Monitor` and others. The way memory is counted also changes between different Linux kernel versions. The following fields are available (all values in bytes):
11
+
12
+
Portable (all platforms):
13
+
14
+
| Field | Description |
15
+
|----|----|
16
+
| rss | Resident Set Size. The non-swapped physical memory a process has used. On UNIX matches the `top` RES column. On Windows maps to `WorkingSetSize`. |
17
+
| vms | Virtual Memory Size. The total amount of virtual memory used by the process. On UNIX matches the `top` VIRT column. On Windows maps to `PrivateUsage` (private committed pages only), which differs from the UNIX definition. |
18
+
19
+
Linux:
20
+
21
+
| Field | Description |
22
+
|----|----|
23
+
| data | Aka DRS (Data Resident Set). Covers the data and stack segments combined (from `/proc/<pid>/statm`). Matches `top`'s DATA column. |
24
+
| shared | Shared memory that could be shared with other processes (shared libraries, memory-mapped files). Counted even if no other process is currently mapping it. Matches `top`'s SHR column. |
25
+
| text | Aka TRS (Text Resident Set). Resident memory devoted to executable code. This memory is read-only and typically shared across all processes running the same binary. Matches `top`'s CODE column. |
26
+
27
+
Windows:
28
+
29
+
| Field | Description |
30
+
|----|----|
31
+
| nonpaged_pool | Current nonpaged pool usage. Kernel memory used for objects that must remain in physical memory. |
32
+
| num_page_faults | The number of page faults. |
33
+
| pagefile | The Commit Charge value for this process (same as `vms`). |
34
+
| paged_pool | Current paged pool usage. Kernel memory used for objects created by the process that can be paged to disk. |
35
+
| peak_nonpaged_pool | Peak nonpaged pool usage. |
36
+
| peak_paged_pool | Peak paged pool usage. |
37
+
| peak_pagefile | Peak Commit Charge during the lifetime of this process. |
38
+
| peak_wset | Peak working set size (same as peak RSS). |
39
+
| private | Same as `vms`. |
40
+
| wset | Current working set size (same as `rss`). |
With `--lengthy`, the table includes all platform-specific `memory_info()` fields from the installed psutil version (fields that are not available are automatically omitted):
154
+
155
+
```bash
156
+
./procs --lengthy
157
+
```
158
+
159
+
Output (Linux, psutil 7.x):
160
+
161
+
```text
162
+
575 procs using 18.1GiB RAM (58.7%), 574 sleeping, 1 zombie (1x xdg-open), up 1W 1D
0 commit comments