2005年8月14日(日) 論文仕事はすすみませぬのう… [同日]
● Latitude X1で電源の消費量を抑えてみる
下記のようなスクリプトをしこんでみた。山頂でハードディスクコントローラの熱暴走が抑えられるといいのだけれどテストするのも恐いな。
まず/usr/local/bin/powermodeとして下記を用意し、chmod +xしておく。
追記。ACアダプターがつながれていない時はcronが実行されないようにしてみた。効いてるかはまだ不明…。
#!/bin/sh
acstate=/proc/acpi/ac_adapter/AC/state
procname=`basename $0`
usage() {
echo "usage: $procname [full|minimal|auto|show|check]" 1>&2
echo "adjusts CPU and peripherals to use full/minimal power." 1>&1
}
# determine the desired mode
mode=unknown
case "$1" in
''|show|auto|check)
if [ -r $acstate ]; then
case `cat $acstate` in
*on-line) mode=full ;;
*off-line) mode=minimal ;;
esac
fi
if [ "$1" = "show" ]; then
echo $mode
fi
;;
full|minimal) mode=$1 ;;
*)
usage
exit 1
;;
esac
case "$1" in
show) exit 0 ;;
check) if [ "$mode" = "full" ]; then exit 0; else exit 1; fi
esac
if [ "$mode" = "unknown" ]; then
usage;
echo "error: could not determine the desired power mode." 1>&2
exit 1
fi
# CPU speed
cpufreq_min=/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
cpufreq_max=/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
cpufreq_set=/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
if [ -w $cpu_set ]; then
case "$mode" in
full) freq=`cat $cpufreq_max`;;
minimal) freq=`cat $cpufreq_min`;;
esac
echo $procname: Setting CPU0 scaling freq to $freq.
echo $freq > $cpufreq_set
fi
# eth0
# tg3 seems to have a `low power mode' to be suspended,
# which seems to work on Windows XP
# eth1
# we let the user to hit Fn+F2
# hda
hd_set=/sbin/hdparm
hd_max='-q -B 255 -S 253'
hd_min='-q -B 0 -S 1'
if [ -x /sbin/hdparm ]; then
for d in /dev/hda; do
case "$mode" in
full) p=$hd_max;;
minimal) p=$hd_min;;
esac
echo $procname: running $hd_set $p $d
$hd_set $p $d > /dev/null
done
fi
書いてある通り、tg3でeth0の電源を切る方法についてはそのうち。 Windows XPではできているようなのでやりかたはあるかもしれない。
起動時に有効になるように、/etc/rc.localに以下を追加。
if [ -x /usr/local/bin/powermode ]; then /usr/local/bin/powermode auto fi
ACアダプタの抜き差しの時にもこのコマンドが走るように/etc/acpi/events/ac_adapterを用意。
event=ac_adapter action=/usr/local/bin/powermode auto
acpidをrestartしてtail -f /var/log/acpidを見ていたところ、一応期待通りに動いているみたい。
(追記) crontabやanacrontabのrun-parts …をpowermode check && run-parts …としてみた。効いてるといいな。
● scimがsleep状態になってくれない
あいかわらずLatitude X1/Momonga trunk(2.6.10-41m)。
echo 3 > /proc/acpi/sleepでstandby状態になってくれることがわかったが、scimが走っていると、
scim (#5051) signalled but didn't enter refrigerator.
とkernelが文句を言ってstandby状態にならない。
どうするかなあ…。
● 「はやぶさ」、小惑星イトカワの撮影に成功!
今度は明るいニュース。宇宙科学研究本部より、スタートラッカーによる映像に小惑星イトカワの姿を捉えて、「はやぶさ」の位置をわりだした、とのこと。
おとこのロマンだねぇ。むふふ。
● そういえば。ノートPCの場合は、新しいタブを開くのに中クリック(つまり左右同時押し)よりもCtrl+左クリックの方が楽なことに気づいた。
● 就寝前の一杯
最近我が家にやってきたぼろい方の自動車にエンジンオイルをのませてきました。オイルゲージがほぼミニマムな状態から、フルのひとあな分下まで足して3/4クオート。モノはCastrol GTXとかいうやつです。Wal★Martでそこそこ安かった。
前のオーナーによると、このエンジンはオイル漏れがあって、3ヶ月に1回くらいはオイルを足してやらないといけないそうな。
3ヶ月に3/4クオートも飲むんだったらもしかしてオイル交換しなくていい?ってのはあまいだろうなぁ。オイルフィルターは換えたいもんねぇ。
最近のツッコまれどころ