Get Detailed Solaris Memory Information with prtdiag

A simple command will provide detailed information about the specific memory configuration of a Sun server, information such as the sizes and locations of memory banks. This can prevent cracking open the case and the associated downtime.

The [b]prtdiag[b] command displays useful information about the processors, IO devices, and memory attached to the system. The only trick is finding the program. It lives under the /usr/platform directory in a subdirectory corresponding to the hardware platform on which it is running. If you change directory to /usr/platform and look at the directory listing, you will see a product catalog of Sun hardware and some generic platform types (like sun4u). Identify the platform you are on (uname -i will work nicely), change into that directory, and then into the sbin subdirectory there. For example, on a Sun V210, the path would be /usr/platform/SUNW,Sun-Fire-V210/sbin. Run the command as ./prtdiag (piping it through more would not hurt). Here is a snippet of output related to memory:

Bank Table:
Physical Location
ID ControllerID GroupID Size Interleave Way
0 0 0 1GB 0
16 1 0 1GB 0

In this system, two banks of memory are present, each 1GB in size. If you are tasked to determine what is needed to upgrade the memory in a Sun box, you have what you need: the output of uname -i and the current memory config.


About Quinn McHenry

Quinn was one of the original co-founders of Tech-Recipes. He is currently crafting iOS applications as a senior developer at Small Planet Digital in Brooklyn, New York.
View more articles by Quinn McHenry

The Conversation

Follow the reactions below and share your own thoughts.