xref: /freebsd/usr.sbin/powerd/powerd.8 (revision 2a58b312)
1.\" Copyright (c) 2005 Nate Lawson
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD$
26.\"
27.Dd February 25, 2023
28.Dt POWERD 8
29.Os
30.Sh NAME
31.Nm powerd
32.Nd "system power control utility"
33.Sh SYNOPSIS
34.Nm
35.Op Fl a Ar mode
36.Op Fl b Ar mode
37.Op Fl i Ar percent
38.Op Fl M Ar freq
39.Op Fl m Ar freq
40.Op Fl N
41.Op Fl n Ar mode
42.Op Fl P Ar pidfile
43.Op Fl p Ar ival
44.Op Fl r Ar percent
45.Op Fl s Ar source
46.Op Fl v
47.Sh DESCRIPTION
48The
49.Nm
50utility monitors the system state and sets various power control options
51accordingly.
52It offers power-saving modes that can be
53individually selected for operation on AC power or batteries.
54.Bl -tag -width "hiadaptive"
55.It Cm maximum
56Choose the highest performance values.
57May be abbreviated as
58.Cm max .
59.It Cm minimum
60Choose the lowest performance values to get the most power savings.
61May be abbreviated as
62.Cm min .
63.It Cm adaptive
64Attempt to strike a balance by degrading performance when the system
65appears idle and increasing it when the system is busy.
66It offers a good balance between a small performance loss for greatly
67increased power savings.
68May be abbreviated as
69.Cm adp .
70.It Cm hiadaptive
71Like
72.Cm adaptive
73mode, but tuned for systems where performance and interactivity are
74more important than power consumption.
75It increases frequency faster, reduces frequency less aggressively, and
76will maintain full frequency for longer.
77May be abbreviated as
78.Cm hadp .
79.El
80.Pp
81The default mode is
82.Cm adaptive
83for battery power and
84.Cm hiadaptive
85for the rest.
86.Pp
87.Nm
88recognizes these runtime options:
89.Bl -tag -width "-r percent"
90.It Fl a Ar mode
91Selects the
92.Ar mode
93to use while on AC power.
94.It Fl b Ar mode
95Selects the
96.Ar mode
97to use while on battery power.
98.It Fl i Ar percent
99Specifies the CPU load percent level when adaptive
100mode should begin to degrade performance to save power.
101The default is 50% or lower.
102.It Fl M Ar freq
103Specifies the maximum frequency to throttle up to.
104.It Fl m Ar freq
105Specifies the minimum frequency to throttle down to.
106.It Fl N
107Treat "nice" time as idle for the purpose of load calculation;
108i.e., do not increase the CPU frequency if the CPU is only busy
109with "nice" processes.
110.It Fl n Ar mode
111Selects the
112.Ar mode
113to use normally when the AC line state is unknown.
114.It Fl P Ar pidfile
115Specifies an alternative file in which the process ID should be stored.
116.It Fl p Ar ival
117Specifies a different polling interval (in milliseconds) for AC line state
118and system idle levels.
119The default is 250 ms.
120.It Fl r Ar percent
121Specifies the CPU load percent level where adaptive
122mode should consider the CPU running and increase performance.
123The default is 75% or higher.
124.It Fl s Ar source
125Enforces method for AC line state refresh; by default, it is chosen
126automatically.
127The set of valid methods is
128.Cm sysctl , devd
129and
130.Cm apm
131(i386 only).
132.It Fl v
133Verbose mode.
134Messages about power changes will be printed to stdout and
135.Nm
136will operate in the foreground.
137.El
138.Sh FILES
139.Bl -tag -width "/var/run/powerd.pid"
140.It Pa /var/run/powerd.pid
141The default PID file.
142.El
143.Sh SEE ALSO
144.Xr acpi 4 ,
145.Xr apm 4 ,
146.Xr cpufreq 4 ,
147.Xr rc.conf 5
148.Sh HISTORY
149The
150.Nm
151utility first appeared in
152.Fx 6.0 .
153.Sh AUTHORS
154.An -nosplit
155.An Colin Percival
156first wrote
157.Nm estctrl ,
158the utility that
159.Nm
160is based on.
161.An Nate Lawson
162then updated it for
163.Xr cpufreq 4 ,
164added features, and wrote this manual page.
165.Sh BUGS
166The
167.Nm
168utility should also power down idle disks and other components besides the CPU.
169.Pp
170If
171.Nm
172is used with
173.Pa /etc/rc.d/power_profile ,
174they may override each other.
175.Pp
176The
177.Nm
178utility
179should probably use the
180.Xr devctl 4
181interface instead of polling for AC line state.
182