Log-in |

OpenSolaris Observability

Over the course of history, we've done a lot of debugging in Solaris. Whether it's processes misbehaving, performance degradations, system panics, or hardware failure, there is one key element of any approach:

If you cannot observe the problem, you cannot fix it.

To this end, we have spent a great deal of time on robust tools to observe all aspects of system behavior. Some of these have been around forever; others are relatively new. They all make the lives of administrators and developers much easier. This community will serve to explore existing Solaris tools and features, as well as plan the next generation of OpenSolaris observability tools.

We've divided this rather large cross section of Solaris functionality into several specific areas, described here. Most of these just link to the relevant code. Over time, those that are sufficiently complex will link to more detailed documentation.

Process Observability

DTraceA fantastic tool that can observe process and system behavior and tie it all together. Check out the DTrace community for more information.
trussA tool for examining system calls as well library calls made by an application.
ptoolsA suite of process observability tools.
libprocA common library used to simplify examining and manipulating processes.
procfsThe /proc filesystem, upon which libproc and all process tools are built.
MDBThe modular debugger, the standard debugger for Solaris. See the MDB community for more information
psBasic process monitoring tool. Displays a snapshot of current process state on the machine.
prstatThe standard process monitoring tool for Solaris, similar to top.
plockstatThe userland equiavlent of lockstat(1M), used to monitor lock events and aid in MT scalability. Built on top of DTrace

System Observability

DTraceOnce again, the indispensible system monitoring tool.
kstatA kernel statistics framework used by a variety of tools to examine system wide statistics.
NUMATools for examining NUMA (Non Uniform Memory Architecture) characteristics on Solaris.
ctfsThe contract filesystem, used to observe and manipulate process contracts.
objfsThe object filesystem, used to examine kernel module symbols and CTF data from userland.
mpstat
iostat
vmstat
Tools to report on basic system statistics.
lockstatTools to examine kernel locking statistic, as well as basic profiling data. Implemented using DTrace
intrstatTools to examine kernel interrupt statistics. Implemented using DTrace
trapstatSPARC-only tool to examine trap statistics.

Network Observability

snoopThe standard tool for observing network packets.
netstatTool for observing network connection status.
nfsstatBasic tool for monitoring NFS statistics.

Hardware Observability

FMAFault Management Architecture, a unified system of hardware fault diagnosis, repair, and reporting.
CPCA system to gather and report CPU performance counter information. Consists of kernel components, libcpc, cpustat, and cputrack
psrinfoReport on current processor status and configuration
prtconfDisplay the system device tree, optionally in excrutiating detail.
prtpiclSimilar to prtconf, prints out the state of the device nodes maintained by the PICL daemon.
prtdiagDisplay summary of attached hardware components.
prtfruSPARC only - Display FRUID information for system or domain.

Post Mortem Observability

MDBThe standard debugger. See the MDB community for more information.
dumpadmConfigures kernel crash dump generation.
coreadmConfigures process core file generation.
CTFCompact C Type Format, the format used to store type information in the kernel and userland. Consumed by MDB and DTrace, among others.
process core generationThe elfcore() routine, which is responsible for the nuts and bolts of core file generation.
kernel panic codeThe entry point to the kernel panic code.
gcoreThe gcore(1) utility for taking a core dump of a live running process without perturbing the process.

Unbundled Tools

 More to come...

last modified by ptribble on 2009/10/31 17:50
Collectives
Project


© Sun Microsystems Inc. 2009
XWiki Enterprise 1.8.2.19075 - Documentation
Terms Of Use | Privacy | Trademarks | Copyright Policy | Site Guidelines | Site map | Help
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.