]>
Commit | Line | Data |
---|---|---|
1815bff5 A |
1 | .\" Copyright (c) 2000, Apple Computer, Inc. All rights reserved. |
2 | .\" | |
3 | .Dd March 28, 2000 | |
4 | .Dt LATENCY 1 | |
5 | .Os "Mac OS X" | |
6 | .Sh NAME | |
7 | .Nm latency | |
8 | .Nd monitors scheduling and interrupt latency | |
9 | .Sh SYNOPSIS | |
10 | .Nm latency | |
1a7e3f61 | 11 | .Op Fl p Ar priority |
c03df0e9 | 12 | .Op Fl h |
8459d725 | 13 | .Op Fl m |
1815bff5 A |
14 | .Op Fl st Ar threshold |
15 | .Op Fl it Ar threshold | |
8459d725 A |
16 | .Op Fl c Ar code_file |
17 | .Op Fl l Ar log_file | |
18 | .Op Fl R Ar raw_file | |
1815bff5 A |
19 | .Op Fl n Ar kernel |
20 | .Sh DESCRIPTION | |
20e66415 | 21 | The |
1815bff5 | 22 | .Nm latency |
34d340d7 A |
23 | utility provides scheduling and interrupt-latency statistics. |
24 | Due to the kernel tracing facility it uses to operate, | |
25 | the command requires root privileges. | |
1815bff5 A |
26 | .Pp |
27 | The arguments are as follows: | |
28 | .Bl -tag -width Ds | |
34d340d7 A |
29 | .\" ========== |
30 | .It Fl c Ar code_file | |
1815bff5 A |
31 | When the |
32 | .Fl c | |
34d340d7 | 33 | option is specified, it takes a path to a code file |
20e66415 | 34 | that contains the mappings for the system calls. |
34d340d7 A |
35 | This option overrides the default location of the system call code file, |
36 | which is found in /usr/share/misc/trace.codes. | |
37 | .\" ========== | |
8459d725 A |
38 | .It Fl h |
39 | Display high resolution interrupt latencies and write them to latencies.csv (truncate existing file) upon exit. | |
40 | .\" ========== | |
41 | .It Fl m | |
42 | Display per-CPU interrupt latency statistics. | |
34d340d7 A |
43 | .\" ========== |
44 | .It Fl it Ar threshold | |
45 | Set the interrupt latency threshold, | |
46 | expressed in microseconds. | |
47 | If the latency exceeds this value, | |
48 | and a log file has been specified, | |
49 | a record of what occurred during this time is recorded. | |
50 | .\" ========== | |
51 | .It Fl l Ar log_file | |
52 | Specifies a log file that is written to when | |
53 | either the interrupt or scheduling latency is exceeded. | |
54 | .\" ========== | |
55 | .It Fl n Ar kernel | |
1815bff5 A |
56 | By default, |
57 | .Nm latency | |
1a7e3f61 | 58 | acts on the default /System/Library/Kernels/kernel.development. |
20e66415 | 59 | This option allows you to specify an alternate booted kernel. |
34d340d7 | 60 | .\" ========== |
8459d725 A |
61 | .It Fl p Ar priority |
62 | Specifies the priority level to observe scheduler latencies for. | |
1a7e3f61 A |
63 | The default is realtime ( |
64 | .Ar 97 | |
65 | ). A range of priorities to monitor | |
66 | can also be provided, for example | |
67 | .Ar 31-47 | |
68 | or | |
69 | .Ar 0-127 | |
70 | . | |
34d340d7 A |
71 | .\" ========== |
72 | .It Fl st Ar threshold | |
73 | Set the scheduler latency threshold in microseconds. | |
74 | If latency exceeds this, and a log file has been specified, | |
75 | a record of what occurred during this time is recorded. | |
8459d725 A |
76 | .\" ========== |
77 | .It Fl R Ar raw_file | |
78 | Specifies a raw trace file to use as input. | |
1815bff5 A |
79 | .El |
80 | .Pp | |
81 | The data columns displayed are as follows: | |
34d340d7 | 82 | .Bl -tag -width LAST_PATHNAME_WAITED_FOR |
1815bff5 | 83 | .It SCHEDULER |
20e66415 | 84 | The number of context switches that fall within the described delay. |
1815bff5 | 85 | .It INTERRUPTS |
20e66415 | 86 | The number of interrupts that fall within the described delay. |
1815bff5 A |
87 | .El |
88 | .Pp | |
89 | The | |
90 | .Nm latency | |
20e66415 | 91 | utility is also SIGWINCH savvy, so adjusting your window geometry will change |
1815bff5 A |
92 | the list of delay values displayed. |
93 | .Sh SAMPLE USAGE | |
94 | .Pp | |
8459d725 | 95 | latency -p 97 -st 20000 -it 1000 -l /var/tmp/latency.log |
1815bff5 | 96 | .Pp |
20e66415 | 97 | The |
1815bff5 | 98 | .Nm latency |
8459d725 | 99 | utility will watch threads with priority 97 for scheduling latencies. |
20e66415 A |
100 | The threshold for the scheduler is set to 20000 microseconds. |
101 | The threshold for interrupts is set to 1000 microseconds. | |
102 | Latencies that exceed these thresholds will be logged in /var/tmp/latency.log. | |
1815bff5 | 103 | .Sh SEE ALSO |
20e66415 | 104 | .Xr fs_usage 1 , |
34d340d7 A |
105 | .Xr sc_usage 1 , |
106 | .Xr top 1 |