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 適用