Thanks everyone!

Cheers
Jamie

--


-----Original Message-----
From: [email protected]
<[email protected]> On Behalf Of
[email protected]
Sent: 06 November 2025 15:47
To: This is the general mailing list for monit <[email protected]>
Subject: Re: More intelligent swap monitoring?

Hi,

The functionality has been implemented and will be part of the next Monit
release. A big thank you to Lutz for the initial patch.

Cheers,
Martin


> On 25. 6. 2025, at 21:08, Lutz Mader <[email protected]> wrote:
>
> Hello Jamie,
> I create a issue to request this feature, see
> https://bitbucket.org/tildeslash/monit/issues/1132/additional-swap-monitoring
>
> Nice to know, the changes fit to your requirements,
> Lutz
>
>
> Am 24.06.25 um 11:31 schrieb Jamie Burchell via This is the general
> mailing list for monit:
>> Hello Lutz
>>
>> I just wanted to feedback that I have been sucessfully runnning your test
>> build with the enchanged swap file monitoring and it's working really
>> well.
>>
>> It would be great to get this in a new release.
>>
>> Thanks
>> Jamie
>>
>>
>>
>> Hello Jamie,
>> no, something like this should match, if the si is above 100 for one
>> cycle.
>>
>> if pagein > 100 pages then alert
>> if pagein > 100 pages for 4 cycles then alert
>>
>> Or continuously above 100 in each cycle for 4 cycles.
>>
>> Based on your data you will get a match based on this test rule.
>>
>> if pagein > 15 pages 4 times within 6 cycles then alert
>>
>> See
>> https://mmonit.com/monit/documentation/monit.html#FAULT-TOLERANCE
>>
>> To increase the time from 30s to 120s the check should be done every 4
>> cycles only.
>>
>> check system $HOST
>>  every 4 cycles
>>  if pagein > 100 pages then alert
>>
>> Lutz
>>
>> p.s.
>> Nice to know.
>>
>>> Not sure why the EPEL version doesn't need it, but I have it
>>> working now.
>>
>> The LIBNSL is no available in Redhat/REL 9 environments too.
>> But in general Monit for Linux is build with LIBNSL, I think.
>>
>> The pagein/pageout test seems to be useful.
>> But the pagefault/pagehit/pagepurge test is not useful and not available
>> in all environments.
>>
>>
>> Am 07.05.25 um 15:38 schrieb Jamie Burchell via This is the general
>> mailing list for monit:
>>> Hi Lutz
>>>
>>> If I set monit to alert if pagein > 100 pages for 4 cycles, does this
>>> mean:
>>>
>>> 1. Alert if threshold of 100 is reached 4 times or more at each 30
>>> second
>>> interval check
>>> 2. Alert if there have been > 100 over in a 120 second period?
>>>
>>> With the config above, this system status triggered it, so I'm assuming
>>> option 2.
>>>
>>> $ vmstat 30
>>>
>>> procs -----------memory---------- ---swap-- -----io---- -system-- 
>>> ------cpu-----
>>> r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy
>>> id
>>> wa st
>>> 1  0 836140 2360564      0 2250752    0    0    20     6    1    3  3  2
>>> 94
>>> 0  0
>>> 0  0 836140 2339544      0 2254452   20    0   141    22 1325 1915  5  2
>>> 93
>>> 0  0
>>> 0  0 836140 2352480      0 2254520   12    0    12    26  763  936  2  2
>>> 96
>>> 0  0
>>> 0  0 835884 2348424      0 2254584   18    0    18    12  963 1234  2  2
>>> 96
>>> 0  0
>>> 0  0 835628 2344712      0 2254652    9    0     9    24 1419 1925  4  4
>>> 92
>>> 0  0
>>> 0  0 834092 2307980      0 2256760   68    0   135    18 1625 2140  5  4
>>> 91
>>> 0  0
>>> 0  0 833580 2273028      0 2258300   25    0    57    34 1219 1640  4  3
>>> 93
>>> 0  0
>>>
>>> Thanks
>>> Jamie
>>>
>>> -----Original Message-----
>>> From: [email protected]
>>> <[email protected]> On Behalf Of Lutz Mader
>>> Sent: 02 May 2025 16:45
>>> To: This is the general mailing list for monit
>>> <[email protected]>
>>> Subject: Re: More intelligent swap monitoring?
>>>
>>> Hello Jamie,
>>> this is a simple tgz Package, feel free to unpack the package and copy
>>> the bin/monit file to a proper place. But keep in mind, this is a test
>>> package only, based on Monit 5.35.0 for Linux x86_64.
>>>
>>>> That's brilliant - thank you very much.
>>>
>>> The official fix will became available with 5.36.0, maybe.
>>>
>>> The data should be similar to the data from "vmstat -s" and "vmstat 30"
>>> (see your monitrc file, option "set daemon  30").
>>>
>>> Keep in mind,
>>> this is for testing/validation purpose only,
>>> Lutz
>>>
>>>
>>>
>>> Am 02.05.25 um 15:14 schrieb Jamie Burchell via This is the general
>>> mailing list for monit:
>>>> Hi Lutz
>>>>
>>>> That's brilliant - thank you very much.
>>>>
>>>> I'm currently using the version 5.33.0 from EPEL (Rocky Linux 9). How
>>>> should
>>>> I replace/install the test package?
>>>>
>>>> Thanks in advance
>>>> Jamie
>>>>
>>>> -----Original Message-----
>>>> From: [email protected]
>>>> <[email protected]> On Behalf Of Lutz Mader
>>>> Sent: 02 May 2025 02:11
>>>> To: This is the general mailing list for monit
>>>> <[email protected]>
>>>> Subject: Re: More intelligent swap monitoring?
>>>>
>>>> Sorry Jamie, I'm late.
>>>>
>>>> Based on your suggestion I add a new test to "check system".
>>>>
>>>> check system $HOST
>>>> #  if memory usage > 75% then alert
>>>> #  if swap usage > 25% then alert
>>>>  if pagein > 10 pages then alert
>>>>  if pageout > 20 pages then alert
>>>>  if pagefault > 50 pages then alert
>>>>
>>>> A test package is available from
>>>> https://bitbucket.org/lutzmad/monit/downloads/monit-vmstat-suse12-x64.tar.gz
>>>>
>>>> Let me know, if this will fix you problem,
>>>> Lutz
>>>>
>>>> Appendage:
>>>> ~/bin/monit status slesbuild
>>>> Monit 5.35.0 uptime: 20m
>>>>
>>>> System 'slesbuild'
>>>>  status                       OK
>>>>  monitoring status            Monitored
>>>>  monitoring mode              active
>>>>  on reboot                    start
>>>>  load average                 [0.00] [0.00] [0.05]
>>>>  cpu                          0.4%usr 3.3%sys 0.0%nice 2.1%iowait
>>>> 0.0%hardirq 0.0%softirq 0.0%steal 0.0%guest 0.0%guestnice
>>>>  memory usage                 492.2 MB [27.4%]
>>>>  swap usage                   8.0 MB [0.4%]
>>>>  pagein count                 0 [58]
>>>>  pageout count                0 [2050]
>>>>  uptime                       5h 0m
>>>>  boot time                    Thu, 01 May 2025 21:02:12
>>>>  filedescriptors              3264 [1.8% of 180992 limit]
>>>>  data collected               Fri, 02 May 2025 02:03:04
>>>>
>>>>
>>>> Am 17.01.25 um 11:51 schrieb Jamie Burchell via This is the general
>>>> mailing list for monit:
>>>>> Hello
>>>>>
>>>>> I have reduced the amount of memory one of the services was consuming,
>>>>> which
>>>>> has abated the problem for now. However, there's still some swap being
>>>>> used
>>>>> so perhaps in a few days time the problem will come up again.
>>>>>
>>>>> Here's the output of /proc/meminfo as requested
>>>>>
>>>>> MemTotal:        7868472 kB
>>>>> MemFree:          671568 kB
>>>>> MemAvailable:    3261880 kB
>>>>> Buffers:               0 kB
>>>>> Cached:           893768 kB
>>>>> SwapCached:        47448 kB
>>>>> Active:          2661256 kB
>>>>> Inactive:        1320396 kB
>>>>> Active(anon):    2400964 kB
>>>>> Inactive(anon):   800724 kB
>>>>> Active(file):     260292 kB
>>>>> Inactive(file):   519672 kB
>>>>> Unevictable:        3072 kB
>>>>> Mlocked:               0 kB
>>>>> SwapTotal:       4194300 kB
>>>>> SwapFree:        3923228 kB
>>>>> Zswap:                 0 kB
>>>>> Zswapped:              0 kB
>>>>> Dirty:                32 kB
>>>>> Writeback:             0 kB
>>>>> AnonPages:       3003564 kB
>>>>> Mapped:           169140 kB
>>>>> Shmem:            113804 kB
>>>>> KReclaimable:    2124156 kB
>>>>> Slab:            2540272 kB
>>>>> SReclaimable:    2124156 kB
>>>>> SUnreclaim:       416116 kB
>>>>> KernelStack:       13712 kB
>>>>> PageTables:        77444 kB
>>>>> SecPageTables:         0 kB
>>>>> NFS_Unstable:          0 kB
>>>>> Bounce:                0 kB
>>>>> WritebackTmp:          0 kB
>>>>> CommitLimit:     8128536 kB
>>>>> Committed_AS:   12257916 kB
>>>>> VmallocTotal:   34359738367 kB
>>>>> VmallocUsed:       31016 kB
>>>>> VmallocChunk:          0 kB
>>>>> Percpu:             1840 kB
>>>>> HardwareCorrupted:     0 kB
>>>>> AnonHugePages:   1378304 kB
>>>>> ShmemHugePages:        0 kB
>>>>> ShmemPmdMapped:        0 kB
>>>>> FileHugePages:         0 kB
>>>>> FilePmdMapped:         0 kB
>>>>> CmaTotal:              0 kB
>>>>> CmaFree:               0 kB
>>>>> Unaccepted:            0 kB
>>>>> HugePages_Total:       0
>>>>> HugePages_Free:        0
>>>>> HugePages_Rsvd:        0
>>>>> HugePages_Surp:        0
>>>>> Hugepagesize:       2048 kB
>>>>> Hugetlb:               0 kB
>>>>> DirectMap4k:      118624 kB
>>>>> DirectMap2M:     8269824 kB
>>>>>
>>>>> Regards
>>>>> Jamie
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: [email protected]
>>>>> <[email protected]> On Behalf Of Lutz
>>>>> Mader
>>>>> Sent: 15 January 2025 20:37
>>>>> To: This is the general mailing list for monit
>>>>> <[email protected]>
>>>>> Subject: Re: More intelligent swap monitoring?
>>>>>
>>>>> Hello,
>>>>> I have no useful examples, vmstat swap usage is si=0 and so=0 only.
>>>>> The values calculated based on /proc/meminfo fit, on a Linux system.
>>>>>
>>>>> And the system status information seems to be useful.
>>>>>
>>>>>> Is it possible to configure Monit to alert of actual swapping
>>>>>> out rather than swap file usage, or am I barking up the wrong tree?
>>>>>
>>>>> You are right, monit does not show the actual swap file IO (page
>>>>> in/out
>>>>> data), the data based on the usage.
>>>>>
>>>>> monit status LINUX
>>>>> Monit 5.34.0 uptime: 49d 0h 43m
>>>>>
>>>>> System 'LINUX'
>>>>>  status                       OK
>>>>>  monitoring status            Monitored
>>>>>  monitoring mode              active
>>>>>  on reboot                    start
>>>>>  load average                 [7.30] [8.60] [12.77]
>>>>>  cpu                          0.8%usr 0.3%sys 14.7%nice 0.0%iowait
>>>>> 0.0%hardirq 0.0%softirq 0.0%steal 0.0%guest 0.0%guestnice
>>>>>  memory usage                 42.6 GB [11.3%]
>>>>>  swap usage                   10.4 MB [0.5%]
>>>>>  uptime                       61d 19h 43m
>>>>>  boot time                    Thu, 14 Nov 2024 14:54:46
>>>>>  filedescriptors              16800 [0.2% of 6815744 limit]
>>>>>  data collected               Wed, 15 Jan 2025 10:37:52
>>>>>
>>>>> The vmstat data.
>>>>>
>>>>> Swap
>>>>> si: Amount of memory swapped in from disk (/s).
>>>>> so: Amount of memory swapped to disk (/s).
>>>>>
>>>>> vmstat
>>>>> procs -----------memory---------- ---swap-- -----io---- -system--
>>>>> ------cpu-----
>>>>> r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy
>>>>> id wa st
>>>>> 7  0  10624 273713168 811688 87684144    0    0    69    40    0    0
>>>>> 11
>>>>> 1 88  0  0
>>>>>
>>>>> vmstat -s
>>>>>    395130516 K total memory
>>>>>    120558732 K used memory
>>>>>     90364732 K active memory
>>>>>     11131200 K inactive memory
>>>>>    274571784 K free memory
>>>>>       811824 K buffer memory
>>>>>     88984004 K swap cache
>>>>>      2095100 K total swap
>>>>>        10624 K used swap
>>>>>      2084476 K free swap
>>>>>   1313872869 non-nice user cpu ticks
>>>>>   1427185498 nice user cpu ticks
>>>>>    247910673 system cpu ticks
>>>>>  22633904247 idle cpu ticks
>>>>>      6802373 IO-wait cpu ticks
>>>>>            0 IRQ cpu ticks
>>>>>      2608560 softirq cpu ticks
>>>>>            0 stolen cpu ticks
>>>>>  17687866581 pages paged in
>>>>>  10300491953 pages paged out
>>>>>         1345 pages swapped in
>>>>>         6655 pages swapped out
>>>>>   3444460676 interrupts
>>>>>    416044891 CPU context switches
>>>>>   1731592487 boot time
>>>>>    273618695 forks
>>>>>
>>>>> The values based on /proc/meminfo.
>>>>>
>>>>> cat /proc/meminfo
>>>>> MemTotal:       395130516 kB
>>>>> MemFree:        275604548 kB
>>>>> MemAvailable:   353323016 kB
>>>>> Buffers:          811800 kB
>>>>> Cached:         85849340 kB
>>>>> SwapCached:          892 kB
>>>>> Active:         89256636 kB
>>>>> Inactive:       11124384 kB
>>>>> Active(anon):   18733260 kB
>>>>> Inactive(anon):  3398376 kB
>>>>> Active(file):   70523376 kB
>>>>> Inactive(file):  7726008 kB
>>>>> Unevictable:      975348 kB
>>>>> Mlocked:          975348 kB
>>>>> SwapTotal:       2095100 kB
>>>>> SwapFree:        2084476 kB
>>>>> Dirty:               468 kB
>>>>> Writeback:             0 kB
>>>>> AnonPages:      14695184 kB
>>>>> Mapped:          2965708 kB
>>>>> Shmem:           8423756 kB
>>>>> Slab:            8029800 kB
>>>>> SReclaimable:    2699580 kB
>>>>> SUnreclaim:      5330220 kB
>>>>> KernelStack:       70320 kB
>>>>> PageTables:       421232 kB
>>>>> NFS_Unstable:          0 kB
>>>>> Bounce:                0 kB
>>>>> WritebackTmp:          0 kB
>>>>> CommitLimit:    199660356 kB
>>>>> Committed_AS:   26151808 kB
>>>>> VmallocTotal:   34359738367 kB
>>>>> VmallocUsed:           0 kB
>>>>> VmallocChunk:          0 kB
>>>>> HardwareCorrupted:     0 kB
>>>>> AnonHugePages:         0 kB
>>>>> ShmemHugePages:        0 kB
>>>>> ShmemPmdMapped:        0 kB
>>>>> HugePages_Total:       0
>>>>> HugePages_Free:        0
>>>>> HugePages_Rsvd:        0
>>>>> HugePages_Surp:        0
>>>>> Hugepagesize:       2048 kB
>>>>> DirectMap4k:    37410524 kB
>>>>> DirectMap2M:    286273536 kB
>>>>> DirectMap1G:    80740352 kB
>>>>>
>>>>> The values are used to calculate the monit swap data.
>>>>>
>>>>> in src/process/sysdep_LINUX.c
>>>>>
>>>>> used_system_memory_sysdep(SystemInfo_T *si)
>>>>>
>>>>>        // Swap
>>>>>        if (! (ptr = strstr(buf, "SwapTotal:")) || sscanf(ptr + 10,
>>>>> "%llu", &swap_total) != 1) {
>>>>>                Log_error("system statistic error -- cannot get swap
>>>>> total amount\n");
>>>>>                goto error;
>>>>>        }
>>>>>        if (! (ptr = strstr(buf, "SwapFree:")) || sscanf(ptr + 9,
>>>>> "%llu", &swap_free) != 1) {
>>>>>                Log_error("system statistic error -- cannot get swap
>>>>> free amount\n");
>>>>>                goto error;
>>>>>        }
>>>>>        si->swap.size = swap_total * 1024;
>>>>>        si->swap.usage.bytes = (swap_total - swap_free) * 1024;
>>>>>
>>>>> The question is,
>>>>> how does the /proc/meminfo output data look like on your system.
>>>>>
>>>>> Are some examples available, based on vmstat and the /proc/meminfo
>>>>> data.
>>>>>
>>>>> Lutz
>>>>>
>>>>>
>>>>> Am 14.01.25 um 12:10 schrieb Jamie Burchell via This is the general
>>>>> mailing list for monit:
>>>>>> Hi
>>>>>>
>>>>>>
>>>>>>
>>>>>> I currently use Monit to alert me if swap usage is over > 20%. This
>>>>>> works
>>>>>> most of the time, but I have a particularly stubborn VM currently
>>>>>> which
>>>>>> appears to like to add data to swap and then not touch it. Using
>>>>>> vmstat
>>>>>> shows there are either no, or maybe the odd non-zero swap in
>>>>>> operation
>>>>>> and
>>>>>> no swap outs. Is it possible to configure Monit to alert of actual
>>>>>> swapping
>>>>>> out rather than swap file usage, or am I barking up the wrong tree?
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thanks in advance!
>>>>>>
>>>>>> Jamie
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>

  • Re: More int... Lutz Mader
    • RE: Mor... Jamie Burchell via This is the general mailing list for monit
      • Re:... Lutz Mader
        • ... Jamie Burchell via This is the general mailing list for monit
        • ... Jamie Burchell via This is the general mailing list for monit
          • ... Lutz Mader
          • ... Jamie Burchell via This is the general mailing list for monit
          • ... Lutz Mader
          • ... Jamie Burchell via This is the general mailing list for monit
          • ... [email protected]
          • ... Jamie Burchell via This is the general mailing list for monit
          • ... Lutz Mader
        • ... Jamie Burchell via This is the general mailing list for monit
          • ... SZÉPE Viktor
          • ... Jamie Burchell via This is the general mailing list for monit

Reply via email to