🐡
OpenBSD 7.1 の省電力設定
背景
OpenBSD 7.1 から PCがAC電源に接続されている場合、省電力モードをOFFに(100%で駆動)するようになった。このため、自宅サーバ(Let's Note CF-S8HWECPS)の発熱がすごくなったので以下の省電力設定を施した。
液晶の明るさを変更
これは以前からやっていたが、備忘録のためここに記述。
% doas wsconsctl display.brightness=0 # 液晶の明るさを 0% に
起動時に自動実行したい場合は /etc/rc.local
に以下を記述し、chmod +x /etc/rc.local
しておけばよい。
/etc/rc.local
#!/bin/sh
wsconsctl display.brightness=0
再起動後にも前回起動時の液晶の明るさをおぼえておいて欲しい場合は /etc/rc.shutdown
と /etc/rc.local
による手法 を実行しておくとよい。
obsdfreqd の導入
AC電源接続時にも省電力設定を行うため、obsdfreqd を以下の手順でインストール。
% git clone https://tildegit.org/solene/obsdfreqd.git
% cd obsdfreqd
% make
% doas make install
% doas rcctl set apmd flags -L # apmd ではデフォルト省電力モードに設定
% doas rcctl restart apmd
% doas rcctl enable obsdfreqd
% doas rcctl set obsdfreqd flags -T 70 # CPUの温度が70度を超えたら省電力モードに移行
% doas rcctl start obsdfreqd
動作確認
-
obsdfreqd
導入前% sysctl hw | grep -e power -e temp -e perf -e speed hw.sensors.cpu0.temp0=86.00 degC hw.sensors.acpiac0.indicator0=On (power supply) hw.sensors.acpibat0.power0=0.00 W (rate) hw.sensors.acpitz0.temp0=92.00 degC (zone temperature) hw.sensors.acpitz1.temp0=91.00 degC (zone temperature) hw.cpuspeed=800 hw.setperf=100 hw.allowpowerdown=1 hw.perfpolicy=auto hw.power=1
-
obsdfreqd
導入後% sysctl hw | grep -e power -e temp -e perf -e speed hw.sensors.cpu0.temp0=85.00 degC hw.sensors.acpiac0.indicator0=On (power supply) hw.sensors.acpibat0.power0=0.00 W (rate) hw.sensors.acpitz0.temp0=93.00 degC (zone temperature) hw.sensors.acpitz1.temp0=91.00 degC (zone temperature) hw.cpuspeed=800 hw.setperf=0 hw.allowpowerdown=1 hw.perfpolicy=manual hw.power=1
狙い通り、hw.setperf=0
に変更された。
しばらく様子を見る。
考察
obsdfreqd
は current のパッケージに登録されているので、OpenBSD 7.2 になったら
% pkg_add obsdfreqd
でインストールできるようになるかも。
Discussion