Solaris 10 swap not showing on memory alert correctly?
Wed Jun 26 16:26:48 GMT 2013 - Memory low Memory Used Total Percentage yellow Physical 23355M 24576M 95% green Swap 106M 35913M 0%
From the client data:
[swap] total: 18459352k bytes allocated + 3036456k reserved = 21495808k used, 32308920k available
I would expect to see the 21495808k used number?
Where is it getting the 106M number? Anyone else seen this on Solaris?
~David
On 27 June 2013 02:38, Gore, David W (David) <david.gore at verizon.com> wrote:
Where is it getting the 106M number? Anyone else seen this on Solaris? *
Yes, same here. It gets the number from the [swaplist] section (from swap -l) of your client message, in preference to the [swap] section (from
swap -s). [Reference: xymond/client/solaris.c, in function
handle_solaris_client()]
So the real question is, why does "swap -s" and "swap -l" give different results? The man page for swap indicates that "swap -s" includes swap space in the form of physical memory (in addition to swap partitions and files). Physical memory used for swap?! Huh!? I really don't know how the Solaris memory management works!
J
You made me revisit the man pages. Without reading Vernon's link I think Xymon is correct and 'top' is incorrect. Both swap -s and swap -l are correct. I did already know Solaris does some magic foot work with real memory when calculating swap which may be in Vernon's article but I think I can explain the numbers in the AM. Time for sleep before the babies wake up.
~David
From: Jeremy Laidman [mailto:jlaidman at rebel-it.com.au] Sent: Wednesday, June 26, 2013 10:58 PM To: Gore, David W (David) Cc: xymon at xymon.com Subject: Re: [Xymon] Solaris 10 swap not showing on memory alert correctly?
On 27 June 2013 02:38, Gore, David W (David) <david.gore at verizon.com<mailto:david.gore at verizon.com>> wrote: Where is it getting the 106M number? Anyone else seen this on Solaris?
Yes, same here. It gets the number from the [swaplist] section (from swap -l) of your client message, in preference to the [swap] section (from swap -s). [Reference: xymond/client/solaris.c, in function handle_solaris_client()]
So the real question is, why does "swap -s" and "swap -l" give different results? The man page for swap indicates that "swap -s" includes swap space in the form of physical memory (in addition to swap partitions and files). Physical memory used for swap?! Huh!? I really don't know how the Solaris memory management works!
J
Solaris and swap is tricky to nail down, specifically because different commands will report different values, by calculating the values in different ways. You need to choose your commands carefully, depending on what value you need to know.
This might help explain things. http://www.f3partners.com/blog/bid/49584/Solaris-Swap-Q-A
It all becomes rather fuzzy when you consider what ZFS is doing in your memory.
Also, in a zone, all bets are off. Caps in particular, on memory or swap, can completely muddy the water. All the checks within the zone, will show the max available as being the capped value. However when you interrogate the kernel for amount free, it returns what the kernel can see. And the kernel can see everything, because it exists in the global zone.
Regards Vernon
P.S. WARNING: Thinking too hard about this can cause your brain to melt. :)
On 27 June 2013 00:38, Gore, David W (David) <david.gore at verizon.com> wrote:
Wed Jun 26 16:26:48 GMT 2013 - Memory low****
Memory Used Total Percentage****
yellow Physical 23355M 24576M 95%****
green Swap 106M 35913M 0%****
From the client data:****
[swap]****
total: 18459352k bytes allocated + 3036456k reserved = 21495808k used, 32308920k available****
I would expect to see the 21495808k used number?****
Where is it getting the 106M number? Anyone else seen this on Solaris? *
~David****
Xymon mailing list Xymon at xymon.com http://lists.xymon.com/mailman/listinfo/xymon
-- "Accept the challenges so that you can feel the exhilaration of victory"
- General George Patton
Yeah it is not a zone there are all sorts of annoyances when using a zone and you do not have access to root. I will take a look at the article but it may not answer my question of why Xymon is doing what it is doing. 'top' also reports the same thing as swap -s, not that is any guarantee of accuracy for such an old tool. 'top' is still one of my favorite tools although I wouldn't mind having the multi-cpu version that I see running on my hp-ux boxes running on Solaris.
~David
From: Vernon Everett [mailto:everett.vernon at gmail.com] Sent: Wednesday, June 26, 2013 11:00 PM To: Gore, David W (David) Cc: xymon at xymon.com Subject: Re: [Xymon] Solaris 10 swap not showing on memory alert correctly?
Solaris and swap is tricky to nail down, specifically because different commands will report different values, by calculating the values in different ways. You need to choose your commands carefully, depending on what value you need to know.
This might help explain things. http://www.f3partners.com/blog/bid/49584/Solaris-Swap-Q-A It all becomes rather fuzzy when you consider what ZFS is doing in your memory. Also, in a zone, all bets are off. Caps in particular, on memory or swap, can completely muddy the water. All the checks within the zone, will show the max available as being the capped value. However when you interrogate the kernel for amount free, it returns what the kernel can see. And the kernel can see everything, because it exists in the global zone.
Regards Vernon
P.S. WARNING: Thinking too hard about this can cause your brain to melt. :)
On 27 June 2013 00:38, Gore, David W (David) <david.gore at verizon.com<mailto:david.gore at verizon.com>> wrote: Wed Jun 26 16:26:48 GMT 2013 - Memory low Memory Used Total Percentage yellow Physical 23355M 24576M 95% green Swap 106M 35913M 0%
From the client data:
[swap] total: 18459352k bytes allocated + 3036456k reserved = 21495808k used, 32308920k available
I would expect to see the 21495808k used number?
Where is it getting the 106M number? Anyone else seen this on Solaris?
~David
Xymon mailing list Xymon at xymon.com<mailto:Xymon at xymon.com> http://lists.xymon.com/mailman/listinfo/xymon
-- "Accept the challenges so that you can feel the exhilaration of victory"
- General George Patton
That link appears to only apply to Zones as I can see the numbers roughly adding up similarly on at least one of my Solaris machines allocated as a zone. Here is how I think the numbers add up on my non-zone traditional machine.
prtconf|grep Memory Memory size: 24576 Megabytes
Physical memory: 25,769,803,776 bytes
swap -s total: 18615728k bytes allocated + 3112800k reserved = 21728528k used, 32078664k available
Converted to bytes: (x1000)total: 18,615,728,000 bytes allocated + 3,112,800,000 reserved = 21,728,528,000 used, 32,078,664,000 available (x1024) 19,062,505,472 + 3,187,507,200 = 22,250,012,672 used, 32,848,551,936 available
swap -l swapfile dev swaplo blocks free /dev/vx/dsk/bootdg/swapvol 278,60000 16 73552112 72369616
Let's look at the last two numbers 73,552,112*512 = 37658681344 bytes 72,369,616*512= 37,053,243,392 37,658,681,344 -37,053,243,392 = 605,437,952 == 577M swap used
So to answer my own question. I think the first 2 numbers in swap -s represent physical memory. I think the last number is some amount from swap and some amount from physical memory. Some of what's in Vernon's article hints at where it all gets allocated.
It would appear that Xymon just subtracts the last two numbers in swap -l to get swap used in megabytes.
~David
From: Vernon Everett [mailto:everett.vernon at gmail.com] Sent: Wednesday, June 26, 2013 11:00 PM To: Gore, David W (David) Cc: xymon at xymon.com Subject: Re: [Xymon] Solaris 10 swap not showing on memory alert correctly?
Solaris and swap is tricky to nail down, specifically because different commands will report different values, by calculating the values in different ways. You need to choose your commands carefully, depending on what value you need to know.
This might help explain things. http://www.f3partners.com/blog/bid/49584/Solaris-Swap-Q-A It all becomes rather fuzzy when you consider what ZFS is doing in your memory. Also, in a zone, all bets are off. Caps in particular, on memory or swap, can completely muddy the water. All the checks within the zone, will show the max available as being the capped value. However when you interrogate the kernel for amount free, it returns what the kernel can see. And the kernel can see everything, because it exists in the global zone.
Regards Vernon
P.S. WARNING: Thinking too hard about this can cause your brain to melt. :)
On 27 June 2013 00:38, Gore, David W (David) <david.gore at verizon.com<mailto:david.gore at verizon.com>> wrote: Wed Jun 26 16:26:48 GMT 2013 - Memory low Memory Used Total Percentage yellow Physical 23355M 24576M 95% green Swap 106M 35913M 0%
From the client data:
[swap] total: 18459352k bytes allocated + 3036456k reserved = 21495808k used, 32308920k available
I would expect to see the 21495808k used number?
Where is it getting the 106M number? Anyone else seen this on Solaris?
~David
Xymon mailing list Xymon at xymon.com<mailto:Xymon at xymon.com> http://lists.xymon.com/mailman/listinfo/xymon
-- "Accept the challenges so that you can feel the exhilaration of victory"
- General George Patton
participants (3)
-
david.gore@verizon.com
-
everett.vernon@gmail.com
-
jlaidman@rebel-it.com.au