apmd (電源管理)

・たかし、2025-03-02 (陰暦02月03日)
・OpenBSD 7.6

apmd とは OpenBSD の電源を管理する daemon。

以下の説明は apmd を既に有效化してゐることが前提。

$ doas rcctl enable apmd

--- apm command

今の狀態を確認するには command line から「apm」を實行する。

$ apm
Battery state: low, 38% remaining, 74 minutes life estimate
AC adapter state: not connected
Performance adjustment mode: manual (800 MHz)

apmd を操作するには command に option を指定する。
これで sleep、suspend、hybernation などの狀態に移行できる。

硬件 (hardware) との相性次第では PC を強制終了するしかなくなる。
最初に試す時は作業中の内容を保存すること。

$ apm -s ## sleep
$ apm -z ## suspend
$ apm -Z ## hybernation

performance adjustment mode も變更できる。

$ apm -H ## performance 最大
$ apm -L ## performance 最低
$ apm -A ## 自動調節 (充電中なら最大、普段は最低)

apm command による操作は PC の電源を切るまで有效。
永續的に設定するには apmd の flags を設定する。

--- apmd (daemon) の設定

現在の apmd の設定を確認するには rcctl get apmd を實行する。

$ rcctl get apmd
apmd_class=daemon
apmd_execdir=
apmd_flags=
apmd_logger=
apmd_rtable=0
apmd_timeout=30
apmd_user=root

設定を變更するには rcctl set apmd flags を實行する。

performance adjustment mode の設定は apm command と同樣。

$ doas rcctl set apmd flags -L
$ doas rcctl set apmd flags -H
$ doas rcctl set apmd flags -A

battery 殘量が 1% 未満で suspend する設定 (1 が % の指定)

$ doas rcctl set apmd flags -z 1

--- obsdfreqd

obsdfreqd を導入すると performance を自動で調節できる。
普段は 800MHz 程度、重い處理の最中のみ 2600MHz 程度になる。

$ doas pkg_add obsdfreqd
$ doas rcctl enable obsdfreqd
$ doas rcctl start obsdfreqd

--- 參考

OpenBSD FAQ: System Management
solene/obsdfreqd - tildegit
Keep your OpenBSD system cool with obsdfreqd

--- 奧附

『美々蝶々』目次CC0 適用