Explore your Solaris System

Explore your System: Solaris System Inventory

Solaris Systems may have at least one CPU or up to hundreds. Solaris systems may have a single disk or entire farms. Anyone who deals with perfromance has to know what the quantitative aspects of the system are. The commands listed here will answer these questions. 

It's pivotal that you get an understanding of the components of the system you want to tune. Knowing the hardware components and the installed software allows you to understand the quantitative limits of the system.

Solaris offers a wealth of commands to identify the characteristics of the running system. The following chapter discusses commands that help administrators and software developers understand and document accurately the hardware and software specifications.

This document reflects the state of the art of spring 2010.

  • SunOS 5.10 known as Solaris 10
  • SunOS 5.11 (build snv_111b) known through the distribution OpenSolaris 2009/06

Both operating system version are very similar. Commands which don't work in both versions are tagged as such.

uname - Printing Information about the Current System

The uname utility prints information about the current system on the standard output. The command outputs detailed information about the current system on operating system software revision level, processor architecture and platform attributes.

The table below lists selected options to uname:




Prints basic information currently available from the system.


Prints the name of the operating system.


Prints the operating system release level.


Prints the name of the platform.


Prints the processor type or ISA [Instruction Set Architecture].

uname – selected options

uname – sample output

/etc/release – Detailed Information about the Operating System

The file /etc/release contains detailed information about the operating system. The content provided allows engineering or support staff to unambiguously identify the Solaris release running on the current system.

/etc/release file – sample output

showrev - Show Machine, Software and Patch Revision (Solaris 10 and older)

The showrev command shows machine, software revision and patch revision information. With no arguments, showrev shows the system revision information including hostname, hostid, release, kernel architecture, application architecture, hardware provider, domain and kernel version.

showrev – machine and software revision

To list patches installed on the current system, use the showrev command with the -p argument.

showrev -p – patch information

This command doesn't exist anymore in newer Sun OS 5.11 builds. The new packaging system (IPS) comes with a completely new set of commands.

pkg - IPS Packages (SunOS 5.11 only!)

List the installed packages with the $pkg list . the $pkg list -a option will list all packages wether installed or not.

pkg list command

isainfo - describe instruction set architectures

The isainfo command describes instruction set architectures. The isainfo utility is used to identify various attributes of the instruction set architectures supported on the currently running system. It can answer whether 64-bit applications are supported, or if the running kernel uses 32-bit or 64-bit device drivers.

The table below lists selected options to isainfo:




Prints the names of the native instruction sets for portable applications.


Prints the name of the native instruction set used by portable applications.


Prints the name of the instruction set(s) used by the operating system kernel components such as device drivers and STREAMS modules.


Prints the number of bits in the address space of the native instruction set.

isainfo – selected options

isainfo – describe instruction set architectures

isalist - Display native Instruction Sets Executable on this Platform

The isalist command displays the native instruction sets executable on this platform. The names are space-separated and are ordered in the sense of best performance. Earlier-named instruction sets may contain more instructions than later-named instruction sets. A program that is compiled for an earlier-named instruction sets will most likely run faster on this machine than the same program compiled for a later-named instruction set.

isalist – display native instruction sets

psrinfo - Display Information about Processors

The psrinfo command displays information about processors. Each physical processor may support multiple virtual processors. Each virtual processor is an entity with its own interrupt ID, capable of executing independent threads.

The table below lists selected options to psrinfo:




Prints one line for each configured processor, displaying whether it is online, non-interruptible (designated by no-intr), spare, off-line, faulted or powered off, and when that status last changed.


Prints the number of physical processors in a system.


Verbose mode. Prints additional information about the specified processors, including: processor type, floating point unit type and clock speed. If any of this information cannot be determined, psrinfo displays unknown.

psrinfo – selected options

psrinfo – display processor information

prtdiag - Display System Diagnostic Information

The prtdiag command displays system diagnostic information. On Solaris 10 for x86/x64 systems, the command is only available with Solaris 10 01/06 or higher.

prtdiag – print system diagnostic information

prtconf - Print System Configuration

The prtconf command prints system configuration information. The output includes the total amount of memory, and the configuration of system peripherals formatted as a device tree.

prtconf –

print system configuration

cpuinfo [Tools CD] – Display CPU Configuration

The cpuinfo utility prints detailed information about the CPU type and characteristics (number, type, clock and strands) of the running system.

cpuinfo – sample output

meminfo [Tools CD] - Display physical Memory, Swap Devices, Files

The meminfo is a tool to display configuration of physical memory and swap devices or files.

meminfo – sample output 


Thomas Bastian was a coauthor of an earlier version of this document. The earlier version of this page has been published in the "The Developers Edge" in 2009.