After being notified that a monitored server's memory (RAM) was pegging consistently, we realized we were not receiving any notifications. After looking at the checks, we realized that while the "Used" amount of memory was being reported correctly, the "Total" was not. The numbers were always higher than the actual memory on the server. After some digging around, I discovered that the "Total" memory being reported was the amount of RAM and the Page File combined. However, the "Used" memory appears to only be reporting the amount of physical memory being used, but comparing it to the total of physical and PF, giving a much lower percentage. Thus, no alerts are being triggered when physical memory is being utilized at a high rate.
I've used the Windows Server monitoring wizard to set up my monitoring. Is there a way of changing this check to report only physical memory against physical memory and skip the page file?
Thank you,
Lonnie
Memory Usage Check Results Are Misleading
-
lonnie.thomas
- Posts: 18
- Joined: Wed Mar 30, 2011 7:44 am
-
lonnie.thomas
- Posts: 18
- Joined: Wed Mar 30, 2011 7:44 am
Re: Memory Usage Check Results Are Misleading
After searching the Support Forum again this morning, I found this, http://support.nagios.com/forum/viewtop ... e2d#p23606; I'm not sure why I didn't see it the other day. Based on dbeasley's reply, we'll have to use the NRPE check to be able to specify physical memory only. We've just taken steps to disable NRPE, as it was interfering with other software we run, and we were using check_nt.
Is there any way to specify physical memory only while using check_nt? I can re-enable NRPE and change the port used to resolve the conflict, but if I can simply use the current check and specify physical only, that would be more beneficial.
Thanks,
Lonnie
Is there any way to specify physical memory only while using check_nt? I can re-enable NRPE and change the port used to resolve the conflict, but if I can simply use the current check and specify physical only, that would be more beneficial.
Thanks,
Lonnie
-
scottwilkerson
- DevOps Engineer
- Posts: 19396
- Joined: Tue Nov 15, 2011 3:11 pm
- Location: Nagios Enterprises
- Contact:
Re: Memory Usage Check Results Are Misleading
Unfortunately no, check_nt's MEMUSE is somewhat limited in that way. I am sure it is also possible to get this from a performance counter, but you would need to look it up in Windows perfmon as I am not sure what the counter's name is.lonnie.thomas wrote:Is there any way to specify physical memory only while using check_nt? I can re-enable NRPE and change the port used to resolve the conflict, but if I can simply use the current check and specify physical only, that would be more beneficial.
- Box293
- Too Basu
- Posts: 5126
- Joined: Sun Feb 07, 2010 10:55 pm
- Location: Deniliquin, Australia
- Contact:
Re: Memory Usage Check Results Are Misleading
NSClient++ built in checks and performance monitor counters will help you.
When I refer to the term physical, this means the amount of memory the server has (virtual server or physical server).
Memory Usage (this is physical and page file)
check_nt -H <server> -p 12489 -v MEMUSE
Memory Usage (physical only)
check_nrpe -H <server> -t 30 -c CheckMem -a MaxCrit=100% ShowAll type=physical
Memory Available (physical only)
check_nrpe -H <server> -t 30 -c CheckCounter -a "Counter:=\\Memory\\Available MBytes" ShowAll
You should also check the Page File Usage. If your server is paging then it doesn't have enough physical memory. The % number is the % of the total page file(s) being written to disk, this number is about the amount of extra memory you need to add to the server to stop it paging (usually).
Page File
check_nt -H <server> -p 12489 -v COUNTER -l "\\Paging File(_Total)\\% Usage","Paging File usage is %.2f %%" -w 30 -c 90
If you don't want to use check_nrpe then find the windows performance monitor counter. Open perfmon and find the memory counter you are after. Then you can do a check_nt command to look at this counter (see page file example above).
Hope this helps.
When I refer to the term physical, this means the amount of memory the server has (virtual server or physical server).
Memory Usage (this is physical and page file)
check_nt -H <server> -p 12489 -v MEMUSE
Memory Usage (physical only)
check_nrpe -H <server> -t 30 -c CheckMem -a MaxCrit=100% ShowAll type=physical
Memory Available (physical only)
check_nrpe -H <server> -t 30 -c CheckCounter -a "Counter:=\\Memory\\Available MBytes" ShowAll
You should also check the Page File Usage. If your server is paging then it doesn't have enough physical memory. The % number is the % of the total page file(s) being written to disk, this number is about the amount of extra memory you need to add to the server to stop it paging (usually).
Page File
check_nt -H <server> -p 12489 -v COUNTER -l "\\Paging File(_Total)\\% Usage","Paging File usage is %.2f %%" -w 30 -c 90
If you don't want to use check_nrpe then find the windows performance monitor counter. Open perfmon and find the memory counter you are after. Then you can do a check_nt command to look at this counter (see page file example above).
Hope this helps.
As of May 25th, 2018, all communications with Nagios Enterprises and its employees are covered under our new Privacy Policy.
-
scottwilkerson
- DevOps Engineer
- Posts: 19396
- Joined: Tue Nov 15, 2011 3:11 pm
- Location: Nagios Enterprises
- Contact:
Re: Memory Usage Check Results Are Misleading
thanks for reminding us about this, there are usually many ways to skin a cat...Box293 wrote:Page File
check_nt -H <server> -p 12489 -v COUNTER -l "\\Paging File(_Total)\\% Usage","Paging File usage is %.2f %%" -w 30 -c 90
If you don't want to use check_nrpe then find the windows performance monitor counter. Open perfmon and find the memory counter you are after. Then you can do a check_nt command to look at this counter (see page file example above).