LATENCY(1)

NAME
latency - monitors scheduling and interrupt latency

SYNOPSIS
latency [-rt] [-c codefile] [-l logfile] [-st threshold] [-it threshold] [-s sleep_in_usecs] [-d decrementer_in_usecs] [-n kernel]

DESCRIPTION
latency provides scheduling and interrupt latency statistics.

The arguments are as follows:

-rt Set real time scheduling policy. Default policy is timeshare.

-c  When the -c option is specified, it takes a path to a codefile that contains the mappings for the system calls. This option overrides the default location of the system call codefile which is found in /usr/share/misc/trace.codes.

-l  Specifies a logfile that is written to when either the interrupt or scheduling latency is exceeded.

-st Set the scheduler latency threshold in microseconds. If latency exceeds this, and a logfile has been specified, a record of what occurred during this time is recorded.

-it Set the interrupt latency threshold in microseconds. If latency exceeds this, and a logfile has been specified, a record of what occurred during this time is recorded.

-s  The -s option sets the timer. It takes microseconds as an argument, the default timer is set to 1000 microseconds.

-d  The -d option sets the decrementer. It takes microseconds as an argument. The decrementer is set back to the system default on exit.

-n  By default, latency acts on the default /mach_kernel. This option allows you to specify an alternate booted kernel.

The data columns displayed are as follows:

SCHEDULER
    The number of context switches that fall within the described delay.
INTERRUPTS
    The number of interrupts that fall within the described delay.

The latency command is also SIGWINCH savvy, so adjusting your window geometry will change the list of delay values displayed.

SAMPLE USAGE

latency -rt -st 20000 -it 1000 -l /var/tmp/latency.log

latency will set the realtime scheduling policy. The threshold for the scheduler is set to 20000 microseconds. The threshold for interrupts is set to 1000 microseconds. Latencies that exceed these thresholds will be logged in /var/tmp/latency.log.

SEE ALSO
top(1) fs_usage(1) sc_usage(1)