There is a really useful functionality in the
mdb. You can print out a detailed overview of your memory consumption with the
::memstat: How much memory got consumed by the kernel, the ZFS cache or page caches. The caveat: It is a rather slow command. This isn’t problematic on a small system but on a M9000 with 4 TB of memory there is room for some coffee as the command walks through the complete memory of the system and the number of CPUs in the system seen by the OS (M9000: 512 CPU) makes this even worse.
But help is underway. Steven Sistare writes in his blog about a wicked fast memstat. On the mentioned M9000 the new command took 70.5 instead of whooping 34143 seconds. And the best … the help is coming soon:
These optimizations are coming soon to a Solaris near you, tracked by the following CR:
6708183 poor scalability of mdb memstat with increasing CPU count
They are available now in Open Solaris developer build 118, and will be in OpenSolaris 2010.02. They will also be in Solaris 10 Update 8, which is patch 141444-08 for SPARC and 141445-08 for x86.