Performance Tool List

From Siwiki

Jump to: navigation, search


[edit] What tools for what tasks?

FOREWORD: The most common error in systems performance analysis is to study the entrails of a system without at the same time measuring how well the system is doing what it was meant to do. Generically, those measures are referred to as 'Business Metrics', and they are always stated in terms of response-time, throughput, variance, efficiency ($/metric or BTU/metric) -- or estimations of latent capacity to grow or improve such metrics. Amomg the more common names for these, you might see:
  • Business Metrics and Indicators (BMIs), and
  • Key Performance Indicators (KPIs)
It is important to remember that 'indicators' are not 'business metrics', and that one's goal in performance analysis should always be focused on business metrics. It's often good to be able to correlate indicators with business metrics, but generally bad to confuse the two. So - while drinking in the wealth of instrumentation available through Solaris instrumentation, the reader is admonished to keep foremost in their mind: "What problem are you trying to solve?"

[edit] Tools for Collecting Historic Performance Data

[edit] Tools for Analyzing Problems

[edit] Tools for Building Performant Applications

[edit] The Tools

[edit] Toolkits

[edit] System Statistics

  • acctcom – process accounting
  • busstat – Bus hardware counters
  • cpustat – CPU hardware counters
  • iostat – IO & NFS statistics
  • kstat – display kernel statistics
  • mpstat – Processor statistics
  • netstat – Network statistics
  • nicstat - Enhanced network statistics
  • nfsstat – NFS client and server stats
  • sar – kitchen sink utility
  • vmstat – virtual memory stats
  • fsstat - File system statistics
  • ::memstat - Memory Summary
  • filestat - UFS Block Layout Statistics
  • statit - System Statistics Utility

[edit] Process Statistics

  • cputrack - per-processor hw counters
  • pargs – process arguments
  • pflags – process flags
  • pcred – process credentials
  • pldd – process's library dependencies
  • psig – process signal disposition
  • pstack – process stack dump
  • pmap – process memory map
  • pfiles – open files and names
  • prstat – process statistics
  • ptree – process tree
  • ptime – process microstate times
  • pwdx – process working directory

[edit] Process Control

  • pmap - Show process memory mappings
  • pgrep – grep for processes
  • pkill – kill processes list
  • pstop – stop processes
  • prun – start processes
  • prctl – view/set process resources
  • pwait – wait for process
  • preap – reap a zombie process
  • plgrp - examine and modify process home lgroup and lgroup affinities
  • pmadvise - apply madvise(3C) to address segments of a process

[edit] Process Tracing/Debugging

  • abitrace – trace ABI interfaces
  • dtrace – trace the world
  • mdb – debug/control processes
  • truss – trace functions and system calls
  • snoop - debug and trace network traffic
  • collect/analyzer - Sun Studio tools for binary code development and runtime analysis (not bundled with Solaris, but freely downloadable)

[edit] Kernel Tracing/Debugging

  • dtrace – trace and monitor kernel
  • lockstat – monitor locking statistics
  • lockstat -k – profile kernel
  • mdb – debug live and kernel cores
  • Hotkernel - What is the kernel doing?
Solaris Internals
Personal tools
The Books
The Ads