LOCKSTAT(8)

NAME
lockstat - display kernel locking statistics

SYNOPSIS
lockstat [-celpst] [-b nbuf] [-E event] [-F func] [-L lock] [-N nlist] [-o file] [-T type] command ...

DESCRIPTION
The 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
    Adjust the number of trace buffers allocated by the kernel to nbuf.

-c  Report percentage of total events by count, and sort the output by number of events. The default is to key on event timings.

-E event
    Limit tracing to one type of event. Use the -e option to list valid events.

-e  List valid event types for the -E option and exit.

-F func
    Limit tracing to locking operations performed within the specified function. func must be the name of a valid function in the kernel.

-L lock
    Limit tracing to one lock. lock may either be the name of a lock object in the kernel, or a kernel virtual address.

-l  Trace only by lock; do not report on calling functions.

-N nlist
    Extract symbol information from the nlist file.

-o file
    Send output to the file named by file, instead of the standard output (the default).

-p  Show the average number of events and time spent per CPU. The default is to show the total values. May be used in conjunction with the -s option.

-s  Show the average number of events per second, and the average time spent per second. The default is to show the total values.

-T type
    Limit tracing to one type of lock. Use the -t option to list valid lock types.

-t  List valid lock types for the -T option and exit.

FILES
/dev/lockstat
    lockstat control device
/dev/ksyms
    default namelist
/netbsd
    namelist

EXAMPLES

    # lockstat sleep 10
    Elapsed time: 10.02s
    -- Spin mutex spin
    Total%  Count   Time/ms       Lock                  Caller
    ------ ------- --------- -------------- -------------------------------
    100.00    1576     44.27 kernel_mutex   all
     95.71    1493     42.46 kernel_mutex   _kernel_lock+0xd1
      4.29      82      1.80 kernel_mutex   _kernel_lock_acquire_count+0xb0

DIAGNOSTICS

lockstat: incompatible lockstat interface version

The kernel device driver does not match the version of the lockstat command.

lockstat: overflowed available kernel trace buffers

Increase the number of buffers using the -b option.

lockstat: ioctl: Invalid argument

The number of trace buffers is outside the minimum and maximum bounds set by the kernel.

SEE ALSO
ps(1), systat(1), vmstat(1), iostat(8), pstat(8)

HISTORY
The lockstat command appeared in NetBSD 4.0.