SunSolve Internal

Infodoc ID   Synopsis   Date
13478   mpstat explained   30 Apr 1996

Description Top

mpstat can be used to detect load imbalances between processors. Much of
the data reported by mpstat is the same data reported by vmstat and sar.
Outlined below are the unique data items that mpstat reports:

xcal - the number of interprocessor cross calls.
       (cpu_sysinfo.xcalls)

intr - the number of interrupts received by a CPU.
       (cpu_sysinfo.intr)

ithr - the number of interrupts received by a CPU which ran as separate
threads.
       (cpu_sysinfo.intrthread)

migr - the number of threads which migrated from another CPU.
       (cpu_sysinfo.cpu_migrate)

smtx - the number of failed adaptive mutex_enter() calls.
       (cpu_sysinfo.mutex_adenters)

srw  - the number of times readers and writer locks were not acquired on the 
       first try. (cpu_sysinfo.rw_wrfails, cpu_sysinfo.rw_rdfails)

cpu_sysinfo.xcalls - cross calls are used to perform some action across
several CPUs (i.e. flushing a cache or TLB).  Each time a processor
issues a cross call to another CPU, xcal is incremented.  A value
greater than 400/sec is excessive.  This indicates heavy data sharing
among jobs.  Partitioning the data set of the workload among jobs with
minimal data sharing will bring this number down.  

cpu_sysinfo.intr - incremented each time a CPU returns from an
interrupt.  Interrupt load should be "relatively" balanced.

cpu_sysinfo.intrthread - incremented each time a CPU returns from an
interrupt which ran as a separate thread.  This count does  not include
the clock interrupt.

cpu_sysinfo.cpumigrate - incremented in resume().  When a thread is
placed into execution, the t_cpu field (the last CPU this thread ran on)
is checked.  If t_cpu points to a CPU other than the CPU this thread is
going to execute on, cpumigrate is incremented.  If this number exceeds
200/s, processor_bind(2) or pbinf(1) should be used to bring it down.

cpu_sysinfo.mutex_adenters - each time a thread attempts to acquire an
adaptive mutex lock when the lock is already owned, mutex_adenters will
be incremented.  Numbers greater than 200/CPU might indicate contention in
the kernel.
Product Area Kernel
Product Performance
OS Solaris 2.x
Hardware any

Top

SunWeb Home SunWeb Search SunSolve Home Simple Search

Sun Proprietary/Confidential: Internal Use Only
Feedback to SunSolve Team