Permanent memory’s riddle
Several days ago I noticed that something wrong was happening with the way cfgadm reported the size of the permanent memory. On a partitioned SunFire 6900 iron with two SBs (SB0 and SB2) in a domain the output looks the following:
cfgadm -alv | grep perm N0.SB0::memory connected configured ok base address 0x0, 33554432 KBytes total, 33403472 KBytes permanent
I don’t believe in coincidences and the fact that permanent memory was equal to the size of one SB’s memory had raised an eyebrow.
# prtconf | grep Mem Memory size: 65536 Megabytes
We all know that a permanent memory is Kernel plus OpenBoot and if cfgadm was correct then it’s an easy deal to check that with mdb but…
# echo "::memstat" | mdb -k Page Summary Pages MB %Tot ------------ ---------------- ---------------- ---- Kernel 129720 1013 2% Anon 1357367 10604 16% Exec and libs 30298 236 0% Page cache 278509 2175 3% Free (cachelist) 1858089 14516 23% Free (freelist) 4581704 35794 56% Total 8235687 64341 Physical 8226460 64269
There is an Oracle Standby running inside this domain and the output of “ipcs -ma”, as expected, almost exactly matches with ‘Anon’ section from the aforementioned mdb’s output and when the standby is stopped anonymous memory reduces proportionally. But why on the earth cfgadm produces such an outrageous report?! Reboot doesn’t help and the system is fully patched using, yes a bit outdated, EIS DVD from the 30th of March 2010.
# uname -a SunOS sf6900-2-da 5.10 Generic_142900-07 sun4u sparc SUNW,Sun-Fire
So far, the answer to this puzzle is yet to be found but if you have a solution on your hands than please give me a hint. ;-)
P.S. This system doesn’t have a support contract so opening a ticket on the sunsolve is not an option.