Hello Martin, nice to see my suggestion became available in a future monit release. This will make Jamie happy, hopefully.
Thanks, Lutz p.s. I calculated the page delta based on the cycle because, this was more easy to handle on the one hand and on the other, I was interesting in an integer value of the page delta. However, Monit uses similar data based on a second, so it is a good idea to proceed similar. Am 06.11.25 um 16:47 schrieb [email protected]: > 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 >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >> > > >
