xref: /freebsd/usr.sbin/powerd/powerd.8 (revision d91382866fc261ac16cf78f204eb7490f082f3d4)
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 January 6, 2019
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 ival
43.Op Fl P Ar pidfile
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 ".Ar hiadaptive"
55.It Ar maximum
56Choose the highest performance values.
57May be abbreviated as
58.Ar max .
59.It Ar minimum
60Choose the lowest performance values to get the most power savings.
61May be abbreviated as
62.Ar min .
63.It Ar 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.Ar adp .
70.It Ar hiadaptive
71Like
72.Ar 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.Ar hadp .
79.El
80.Pp
81The default mode is
82.Ar adaptive
83for battery power and
84.Ar hiadaptive
85for the rest.
86.Pp
87.Nm
88recognizes these runtime options:
89.Bl -tag -width ".Fl r Ar 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 minimum frequency to throttle down to.
104.It Fl M Ar freq
105Specifies the maximum frequency to throttle up 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 ival
115Specifies a different polling interval (in milliseconds) for AC line state
116and system idle levels.
117The default is 250 ms.
118.It Fl P Ar pidfile
119Specifies an alternative file in which the process ID should be stored.
120The default is
121.Pa /var/run/powerd.pid .
122.It Fl r Ar percent
123Specifies the CPU load percent level where adaptive
124mode should consider the CPU running and increase performance.
125The default is 75% or higher.
126.It Fl s Ar source
127Enforces method for AC line state refresh; by default, it is chosen
128automatically.
129The set of valid methods is
130.Cm sysctl , devd
131and
132.Cm apm
133(i386 only).
134.It Fl v
135Verbose mode.
136Messages about power changes will be printed to stdout and
137.Nm
138will operate in the foreground.
139.El
140.Sh SEE ALSO
141.Xr acpi 4 ,
142.Xr apm 4 ,
143.Xr cpufreq 4
144.Sh HISTORY
145The
146.Nm
147utility first appeared in
148.Fx 6.0 .
149.Sh AUTHORS
150.An -nosplit
151.An Colin Percival
152first wrote
153.Nm estctrl ,
154the utility that
155.Nm
156is based on.
157.An Nate Lawson
158then updated it for
159.Xr cpufreq 4 ,
160added features, and wrote this manual page.
161.Sh BUGS
162The
163.Nm
164utility should also power down idle disks and other components besides the CPU.
165.Pp
166If
167.Nm
168is used with
169.Pa power_profile ,
170they may override each other.
171.Pp
172The
173.Nm
174utility
175should probably use the
176.Xr devctl 4
177interface instead of polling for AC line state.
178