xref: /freebsd/usr.sbin/powerd/powerd.8 (revision ce6a89e27cd190313be39bb479880aeda4778436)
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 March 3, 2020
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.Sh HISTORY
148The
149.Nm
150utility first appeared in
151.Fx 6.0 .
152.Sh AUTHORS
153.An -nosplit
154.An Colin Percival
155first wrote
156.Nm estctrl ,
157the utility that
158.Nm
159is based on.
160.An Nate Lawson
161then updated it for
162.Xr cpufreq 4 ,
163added features, and wrote this manual page.
164.Sh BUGS
165The
166.Nm
167utility should also power down idle disks and other components besides the CPU.
168.Pp
169If
170.Nm
171is used with
172.Pa power_profile ,
173they may override each other.
174.Pp
175The
176.Nm
177utility
178should probably use the
179.Xr devctl 4
180interface instead of polling for AC line state.
181