Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, July 27, 2022



plockstat - report user-level lock statistics


plockstat [-vACHV] [-n count] [-s depth] [-e secs] 
     [-x arg [=val]] command [arg]...
plockstat [-vACHV] [-n count] [-s depth] [-e secs] 
     [-x arg [=val]] -p pid


The plockstat utility gathers and displays user-level locking statistics. By default, plockstat monitors all lock contention events, gathers frequency and timing data about those events, and displays the data in decreasing frequency order, so that the most common events appear first.

plockstat gathers data until the specified command completes or the process specified with the –p option completes.

plockstat relies on DTrace to instrument a running process or a command it invokes to trace events of interest. This imposes a small but measurable performance overhead on the processes being observed. Users must have the dtrace_proc privilege and have permission to observe a particular process with plockstat. Refer to the Oracle Solaris 11.4 DTrace (Dynamic Tracing) Guide for more information about DTrace security features.


The following options are supported:


Watch all lock events. This option is equivalent to –CH.


Watch contention events.


Watch hold events.

–e secs

Exit after the number of seconds specified have elapsed.

–n count

Display only the specified number of entries for each output category.

–s depth

Record a stack trace rather than just the calling function.

–p pid

Specify a process ID from which plockstat is to gather data.


Print out a message to indicate that tracing has started.

–x arg[=val]

Enable or modify a DTrace runtime option or D compiler option. The list of options is found in the Oracle Solaris 11.4 DTrace (Dynamic Tracing) Guide. Boolean options are enabled by specifying their name. Options with values are set by separating the option name and value with an equals sign (=).


Print the Dtrace commands used to gather the data. The output can then be used directly with the dtrace(8) command.


The following operands are supported:


A string to be passed as an argument to command.


The name of a utility to be invoked.


A positive integer value.


A process identifier for a process to be monitored.


Duration specified as a positive integer number of seconds.

Display Headers

The following headers appear over columns of data in plockstat output.


Number of times an event occurred.


Average duration of an event, in nanoseconds.


Address of a lock, displayed symbolically if possible.


Address of a caller, displayed symbolically if possible.

Exit Status

The following exit values are returned:


Successful completion.


An error occurred.


See attributes(7) for descriptions of the following attributes:

Interface Stability
See below.

The command-line syntax is Committed. The human-readable output is Uncommitted.

See Also

mutex_init(3C), pthread_mutex_lock(3C), pthread_rwlock_rdlock(3C), pthread_rwlock_unlock(3C), pthread_rwlock_wrlock(3C), rwlock(3C), fasttrap(4D), attributes(7), dtrace(8), lockstat(8)

Oracle Solaris 11.4 DTrace (Dynamic Tracing) Guide