The onstat -g con command displays all threads currently waiting on a condition. The output is sorted by condition ID.
Conditions with waiters: cid addr name waiter waittime 920 14aa0588 sm_read 213 187 2370 14480848 netnorm 349 3682 2464 14719698 netnorm 357 2991 2504 1476ff00 netnorm 358 2991 2508 1477b880 netnorm 359 2994
Heading | Description | Format | See Also |
---|---|---|---|
cid | Condition identifier. | Dec | |
addr | In-memory address of the condition control block. | Hex | |
name | The name of the condition upon which this thread is waiting. | Str | |
waiter | The thread ID of the thread waiting on the condition. | Dec | onstat -g ath |
waittime | The amount of wait time the thread has waited on this condition in seconds. | Dec |
The following table lists the valid condition name fields and their associated meaning.
Condition | Description |
---|---|
adt_cond | Thread is waiting on for MLS auditing to complete. |
arrived | Waiting for mail (network request) to arrive |
await_MC%d | Producer thread(s) are waiting to coordinate their status with their Master Consumer thread. |
backend:%d | A single sort thread is waiting for backend to tell this thread of an event. |
bar_cond | "Barrier Condition". Used to coordinate processing between producer and consumer threads. |
block | The thread is blocked due to one of the following reasons:
BLOCK_ARCHIVE BLOCK_DBS_DROP BLOCK_DDR BLOCK_DR_SWITCH BLOCK_HANG_SYSTEM BLOCK_LBU_PRESERVE BLOCK_LONGTX BLOCK_MEDIA_FAILURE |
bufcond | Sort thread is waiting for output buffers to become available. |
closed_down | Master consumer thread is waiting for a signal that it is OK to close. |
closing | A network communications thread (tli, soc, str) is waiting to close. |
cp | Thread is waiting on a checkpoint to complete. |
drbt_rcvq | Thread on Data Replication secondary is waiting for buffer to be dequeued from the receive queue. |
drbt_sndq | Thread on Data Replication primary is waiting for buffer to be dequeued from the send queue. |
drcb_bqe | Thread waiting for buffer to show up on empty Data Replication buffer queue. |
drcb_bqf | Thread waiting for buffer to show up on full Data Replication buffer queue. |
free_cond | Producer thread is waiting for a free packet buffer. |
gfile | A thread is waiting for an I/O operation (open, close, read, write) to finish. |
incore | Sort thread(s) are waiting to determine if sort will be performed in memory. |
loa_done | Waiting for an onload job to be completed |
loa_request | Waiting for an onload request to be completed |
log | Thread is waiting while operation is being performed against Logical Log buffers (e.g., switching to another buffer). |
logbf%d | Thread is waiting for a Logical Log buffer (of three) to become available. |
netexp | |
netnorm | A thread is waiting for a request to be placed in the network queue. |
notify_MC%d | Provides coordination for synchronously opening, closing and freeing exchange threads. |
nsf.cleanup | |
ok_to_close | Producer thread is waiting for a signal that it is OK to close. |
ok_to_open | Producer thread is waiting for a signal that it is OK to open. |
opened_up | Master consumer thread is waiting for a signal that it is OK to open. |
opresv | Thread is waiting on optical subsystem to reserve an optical drive for a specified volume. |
packet_cond | Exchange thread is waiting for additional data packets to arrive. |
pddr_cbwait | Waiting for deallocation of Parallel Distributed Data Replication (PDDR) control block. |
plogothr | Thread waiting on other physical log buffer (of two) to become available. |
plogpl | Thread waiting on current physical log buffer (of two) to become available. |
pt_%x | |
QbuffE | Thread waiting for buffer to show up on empty Streams buffer queue. |
QbuffF | Thread waiting for buffer to show up on full Streams buffer queue. |
sm_poll_cond | |
sm_read | A thread is waiting for a request to be placed in the shared memory queue. |
sortproc:%d | |
unl_done | Waiting for an onunload job to be completed. |
unl_request | Waiting for an onunload request to be completed. |
workrdy | Waiting for pload worker threads to become ready. |
To discover the session associated with the thread ID that is waiting on the condition, execute the following SQL statement against the sysmaster database, replacing the question mark (?) with the thread ID obtained from the onstat -g con output.
SELECT sid FROM rstcb WHERE tid = ?This will return the session ID for the thread waiting on the condition. It is now possible to analyze the thread at the process level by using the process ID (pid) for the session.
To discuss how Oninit ® can assist please call on +1-913-674-0360 or alternatively just send an email specifying your requirements.