目次

FreeBSDの省エネ設定を極める

FreeBSD 9

kern.hz

8の頃には有効だったようだが、9では効果なし。

SATA LPM

SATAコントローラの省エネ設定。極めて有効。SATAチップ×3個、ストレージ×11台という特殊な環境ではあるが、うちだと5〜6W程度落ちる。

有効にするには/boot/device.hintsに以下の行を追加する。

hint.ahcich.X.pm_level=5

XはACHIのチャンネル。dmesg|grep ahcichで確認すべし。とりあえず0〜15あたりで網羅しちゃっても問題ないと思う。

設定値は0(無効)〜5(エコ)まで。指定するならPARTIALな4か、SLUMBERな5で。数値が大きくなるほど復帰時間が長くなるが、個人用途なら気にする事はないだろう(SLUMBERでも10ミリ秒だそうだし)。

詳しくはmac ahci(4)を見るべし。

USB

usbconfigでUSBデバイスの電源状態を設定する事が出来る。

$ sudo usbconfig
ugen0.1: <XHCI root HUB 0x8086> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen1.1: <EHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen2.1: <EHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.2: <Dell USB Keyboard Dell> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (70mA)
ugen2.2: <product 0x0024 vendor 0x8087> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen1.2: <product 0x0024 vendor 0x8087> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen2.3: <USB Storage Generic> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)

ugen0.2と2.3がpower_onの状態なのでpower_saveにしてみる。

$ sudo -d 0.2 power_save
$ sudo -d 2.3 power_save

うちの環境では消費電力に変化は見られなかった。