| LOCKSTAT(8) | System Manager's Manual | LOCKSTAT(8) | 
lockstat —
| lockstat | [ -cdeflMmpstx] [-bnbuf] [-Eevent] [-Ffunc] [-Llock] [-Nnlist] [-ofile] [-Ttype] command ... | 
lockstat command enables system wide tracing of
  kernel lock events, executes the specified command, and when finished reports
  statistics to the user.
Tracing may be ended early by sending
    SIGINT (Ctrl-C) to the process being executed by
    lockstat.
The lockstat pseudo-device driver must be
    present in the kernel, and the lockstat command may
    only be used by the root user.
The options are as follows:
-b
    nbuf-c-d-E
    event-e
      option to list valid events.-e-E option and
    exit.-F
    func-f-L
    lock-l-M-m-N
    nlist-o
    file-p-s option.-s-T
    type-t
      option to list valid lock types.-t-T option and
    exit.-xlockstat control device# lockstat -L uvm_pageqlock sleep 10 Elapsed time: 10.01 seconds. -- Adaptive mutex spin Total% Count Time/ms Lock Caller ------ ------- --------- ---------------------- ------------------------------ 100.00 1281 0.78 uvm_pageqlock <all> 39.81 385 0.31 uvm_pageqlock uvm_fault_internal+11cc 30.98 358 0.24 uvm_pageqlock uvm_fault_internal+bb1 28.06 522 0.22 uvm_pageqlock uvm_anfree+132 0.51 5 0.00 uvm_pageqlock ubc_fault+28f 0.20 4 0.00 uvm_pageqlock uvm_fault_internal+12b6 0.18 2 0.00 uvm_pageqlock uao_detach_locked+58 0.11 2 0.00 uvm_pageqlock uvm_fault_internal+7d5 0.08 2 0.00 uvm_pageqlock ufs_balloc_range+160 0.07 1 0.00 uvm_pageqlock uvm_fault_internal+107b
The kernel device driver does not match the version of the
        lockstat command.
Increase the number of buffers using the
        -b option.
The number of trace buffers is outside the minimum and maximum bounds set by the kernel.
lockstat command appeared in NetBSD
  4.0.
| March 6, 2013 | NetBSD 10.0 |