blog.monophile.net

コンピュータのこととかのメモ。

Takaaki Yamamoto

東京工業大学において計算機科学と応用数学を学び、 情報科学芸術大学院大学[IAMAS] においてメディア表現を専攻し修了。 現在は digitiminimi Inc. において、インフラエンジニアとして生計をたててている。

work

各種システム構築と管理を承ります。

Cloud PlatformOpenstack, GCP, AWS, Azure, ...
Openstackkeystone, glance, cinder, swift, neutron, nova, ...
VirtualizationQEMU+KVM, LXD/LXC, Docker, ...
OSDebian GNU/Linux, Ubuntu, CentOS, ...
NetworksIPSec, L2TP, VXLAN, WirelessAP, ...
WebAppsWordPress, GitLab, Redmine, ...
Configuration ManagementAnsible, Terraform, ...
MonitoringNagios, Munin, ...

posts

画面を(開け|閉じ)たら、CPUの速度を変える

いきさつ

スリープはしたくないが、かばんの中で勝手に暑くならないように、 画面を閉じたらCPUの速度を落とす、ということをする。 環境はThinkPad X220でUbuntu16.04。

setup

ACアダプタをつないでいるときは速い状態(performance)で、 それ以外の時に画面が開いていたら(performance)で、 閉じていたら(powersave)にする。

installing cpufrequtils

$ sudo apt install cpufrequtils

/etc/acpi/events/lid_ac

スクリプトを起動するためにトリガーを設定する。

event=(ac_adapter|button/lid.*)
action=/etc/acpi/lid_ac.sh

/etc/acpi/lid_ac.sh

下記のシェルスクリプトを用意します。

#! /bin/sh
islidopen(){ grep -q "open" /proc/acpi/button/lid/LID/state; }
isac(){ test $(cat /sys/class/power_supply/AC/online) -eq 1; }
performance() { cpupower frequency-set -g $0; }
powersave() { cpupower frequency-set -g $0; }
isac && performance || ( islidopen && performance || powersave )

実行権限をつけます。

$ chmod a+x /etc/acpi/lid_ac.sh

restart acpid

下記のコマンドを打つことで、上記の設定が反映される。

$ sudo service acpid restart

acpi_listen

下記のコマンドでさまざまなacpiのイベントをモニタリングすることができる。

$ acpi_listen

references