[memo] サーバのCPU動作周波数を動的に変える


[memo] サーバのCPU動作周波数を下げるの続き。

やってみないとわからんので、cpufreq_ondemandを試してみる。

modprobe cpufreq_ondemand
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

cd /sys/devices/system/cpu/cpu0/cpufreq/ondemand/
ls
ignore_nice_load  sampling_down_factor  sampling_rate  sampling_rate_max  sampling_rate_min  up_threshold

cat ignore_nice_load
0

cat sampling_down_factor
1

cat sampling_rate
1040000

cat sampling_rate_max
520000000

cat sampling_rate_min
520000

cat up_threshold
80

詳細はKernel メモ ondemand参照。とりあえずignore_nice_loadは1に設定しておいた。急がないけど負荷になりそうな作業なんかはniceすること。

実際にemerge –syncとかして/proc/cpuinfoを見てたら、普段1GHzで動作しているのが2GHz→1.8GHzとなって1GHzに戻った。上手く動いているっぽい。試しにnice revdep-rebuildとかすると1GHzから変わらないことも確認。とりあえずこのまま運用してみる。