onstat -g wst command: Print wait statistics for threads
Use the onstat -g wst command to show the wait statistics for the threads within the system.
The WSTATS configuration parameter must be set to 1
to
enable wait statistics collection. For more information, see WSTATS configuration parameter .
Example output
Version 11.70.F -- On-Line -- Up 18:52:59 -- 78856 Kbytes
name tid state n avg(us) max(us)
msc vp 0 5 ready 6 9 17
msc vp 0 5 run 6 1107 2215
msc vp 0 5 IO Idle 5 2985.9s 1496.1s
main_loo 7 IO Wait 55 6496 16725
main_loo 7 yield time 44929 1.2s 343.1s
main_loo 7 ready 44998 206085 343.1s
main_loo 7 run 44985 5 436
...
sqlexec 63 IO Wait 2 1118 2165
sqlexec 63 other cond 6 34237 204142
sqlexec 63 ready 9 7 16
sqlexec 63 run 7 1.1s 7.7s
Output description
- name (string)
- Thread name
- tid (decimal)
- Thread ID
- state (string)
- State the thread waited in for this line of output. A single thread
can have multiple lines of output if it waited in more than one state.
Values that can appear in the
state
field include:chkpt cond
: The thread waited for a checkpoint condition.cp mutex
: The thread waited for checkpoint mutex to become available.deadlock mutex
: The thread waited for a deadlock mutex to become available.empty Q
: The thread waited for an empty buffer on a queue.fork
: The thread waited for a child thread to run.full Q
: The thread waited for a full buffer on a queue.IO Idle
: The I/O thread was idle.IO Wait
: The thread yielded while it waited for I/O completion.join wait
: The thread waited for another thread to exit.lock mutex
: The thread waited for lock mutex to become available.lockfree mutex
: The thread waited for a lock-free mutex to become available.logflush
: Logical log flushing occurred.log mutex
: The thread waited for logical log mutex to become available.logcopy cond
: The thread waited for logical log copy condition.logio cond
: The thread waited for a logical log condition.lrus mutex
: The thread waited for a buffer LRU mutex to become available.misc
: The thread waited for a miscellaneous reason.other cond
: The thread waited for an internal condition.other mutex
: The thread waited for an internal system mutex to become available.other yield
: The thread yielded for an internal reason.OS read
: The thread waited for an operating system read call to complete.OS write
: The thread waited for an operating system write call to complete.ready
: The thread was ready to run.run
: The thread ran.sort io
: The thread waited for sort I/O completion.vp mem sync
: The thread waited for synchronization of virtual processor memory.yield bufwait
: The thread yielded while it waited for a buffer to become available.yield 0
: The thread yielded with an immediate timeout.yield time
: The thread yielded with a timeout.yield forever
: The thread yielded and stays that way until it wakes up.
- n (decimal)
- Number of times the thread waited in this state
- avg(us) (floating point)
- Average user time the thread spent waiting in this state per wait
occurrence. Time is in microseconds; an
s
after the value indicates user time in seconds. - max(us) (floating point)
- Maximum user time the thread spent waiting in this state for a
single wait occurrence. Time is in microseconds; an
s
after the value indicates user time in seconds.