それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

cpu電源管理が面倒なので、powertop を自動的に実行する

CPUの電源管理設定を調べる。

cat でサクッと目見れる。

 cat /sys/class/scsi_host/host*/link_power_management_policy

https://wiki.archlinux.jp/index.php/%E9%9B%BB%E6%BA%90%E7%AE%A1%E7%90%86#SATA_Active_Link_Power_Management

## cpu の電源管理の設定を変える。

パワーマネジメントを変えることはそう難しくない

for i in  /sys/class/scsi_host/host* ; do 
    echo $i
    echo 'min_power' | sudo tee  $i/link_power_management_policy
done

ノートPCなら、min_powermed_power_with_dipm でいいかと思う。

面倒なので、powertop にやらせる。

このへんは powertop でチューニングされるはず

systemd サービスを作る

cat <<"EOS;" | sudo tee /etc//systemd/system/powertop.service

[Unit]
Description=Powertop tunings

[Service]
ExecStart=/usr/sbin/powertop --auto-tune
RemainAfterExit=false


[Install]
WantedBy=multi-user.target


EOS;

systemd のタイマーを作る。

cat << "EOS;" | sudo tee  /etc/./systemd/system/powertop.timer
[Unit]
Description=PowerTop auto tune

[Timer]
OnCalendar= daily
RandomizedDelaySec=3600
Unit = powertop.service

[Install]
WantedBy=default.target

EOS;

Serviceを有効にする。

sudo systemctl daemon-reload
sudo systemctl enable powertop.service
sudo systemctl start powertop.service

なぜこんなことをするのか

たまに、フルパワーでぶん回してベンチマークを取得たりするとき、元に戻し忘れる。

帰宅したときファンが轟音たててて、戻し忘れてたことを忘れるとかある。悲しい。

対応策は、あれこれあるけど、とりあえず、powertop にお任せ。

参考資料。

https://gist.github.com/shunirr/7510857