apmdについて (OpenBSD)

OpenBSD 7.8 amd64 で檢證。

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

apmdの有效化

初期狀態では無效になつてゐるので有效化して起動する。

$ doas rcctl enable apmd
$ doas rcctl start apmd

apm command

cli の apm command で apmd を操作する。

現在の狀態を確認するには引數無しで實行する。 これは apmd が無效でも使用可能。

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

以下の command は apmd を起動濟みの場合のみ使用可能。

sleep や suspend や hybernation の狀態にするには次の command を實行する。

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

PC によっては復歸できないことがある。 最初に試す時は作業中の内容を保存すること。

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 殘量が一定未満の時 suspend するには flags -z percent を指定する。

$ 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

奧附

美々蝶々

更新 2025-12-13 (陰暦10月24日)