xref: /freebsd/usr.sbin/pmccontrol/pmccontrol.8 (revision a90b9d0159070121c221b966469c3e36d912bf82)
1.\" Copyright (c) 2003,2008 Joseph Koshy.  All rights reserved.
2.\"
3.\" Redistribution and use in source and binary forms, with or without
4.\" modification, are permitted provided that the following conditions
5.\" are met:
6.\" 1. Redistributions of source code must retain the above copyright
7.\"    notice, this list of conditions and the following disclaimer.
8.\" 2. Redistributions in binary form must reproduce the above copyright
9.\"    notice, this list of conditions and the following disclaimer in the
10.\"    documentation and/or other materials provided with the distribution.
11.\"
12.\" This software is provided by Joseph Koshy ``as is'' and
13.\" any express or implied warranties, including, but not limited to, the
14.\" implied warranties of merchantability and fitness for a particular purpose
15.\" are disclaimed.  in no event shall Joseph Koshy be liable
16.\" for any direct, indirect, incidental, special, exemplary, or consequential
17.\" damages (including, but not limited to, procurement of substitute goods
18.\" or services; loss of use, data, or profits; or business interruption)
19.\" however caused and on any theory of liability, whether in contract, strict
20.\" liability, or tort (including negligence or otherwise) arising in any way
21.\" out of the use of this software, even if advised of the possibility of
22.\" such damage.
23.\"
24.Dd November 9, 2008
25.Dt PMCCONTROL 8
26.Os
27.Sh NAME
28.Nm pmccontrol
29.Nd "control hardware performance monitoring counters"
30.Sh SYNOPSIS
31.Nm
32.Oo Fl c Ar cpu | Fl d Ar pmc | Fl e Ar pmc Oc ...
33.Nm
34.Fl l
35.Nm
36.Fl L
37.Nm
38.Fl s
39.Sh DESCRIPTION
40The
41.Nm
42utility controls the operation of the system's hardware performance
43monitoring counters.
44.Sh OPTIONS
45The
46.Nm
47utility processes options in command line order, so later options modify
48the effect of earlier ones.
49The following options are available:
50.Bl -tag -width indent
51.It Fl c Ar cpu
52Subsequent enable and disable options affect the CPU
53denoted by argument
54.Ar cpu .
55The argument
56.Ar cpu
57is a number denoting a CPU in the system, or
58.Dq Li * ,
59denoting all unhalted CPUs in the system.
60.It Fl d Ar pmc
61Disable PMC number
62.Ar pmc
63on the CPU specified by
64.Fl c ,
65preventing it from being used till subsequently re-enabled.
66The argument
67.Ar pmc
68is a number denoting a specific PMC, or
69.Dq Li *
70denoting all the PMCs on the specified CPU.
71.Pp
72Only idle PMCs may be disabled.
73.\" XXX this probably needs to be fixed.
74.It Fl e Ar pmc
75Enable PMC number
76.Ar pmc ,
77on the CPU specified by
78.Fl c ,
79allowing it to be used in the future.
80The argument
81.Ar pmc
82is a number denoting a specific PMC, or
83.Dq Li *
84denoting all the PMCs on the specified CPU.
85If PMC
86.Ar pmc
87is already enabled, this option has no effect.
88.It Fl l
89List available hardware performance counters and their current
90disposition.
91.It Fl L
92List available hardware performance counter classes and their
93supported event names.
94.It Fl s
95Print driver statistics maintained by
96.Xr hwpmc 4 .
97.El
98.Sh EXAMPLES
99To disable all PMCs on all CPUs, use the command:
100.Dl "pmccontrol -d*"
101.Pp
102To enable all PMCs on all CPUs, use:
103.Dl "pmccontrol -e*"
104.Pp
105To disable PMCs 0 and 1 on CPU 2, use:
106.Dl "pmccontrol -c2 -d0 -d1"
107.Pp
108To disable PMC 0 of CPU 0 only, and enable all other PMCS on all other
109CPUs, use:
110.Dl "pmccontrol -c* -e* -c0 -d0"
111.Sh DIAGNOSTICS
112.Ex -std
113.Sh SEE ALSO
114.Xr pmc 3 ,
115.Xr pmclog 3 ,
116.Xr hwpmc 4 ,
117.Xr pmcstat 8 ,
118.Xr sysctl 8
119.Sh HISTORY
120The
121.Nm
122utility first appeared in
123.Fx 6.0 .
124.Sh AUTHORS
125.An Joseph Koshy Aq Mt jkoshy@FreeBSD.org
126