2008年6月9日月曜日

[Linux][KDE4]CPU周波数制御が分かった

昨日の投稿で「再起動したらどうも数値が戻されているっぽい」と書いたCPU動作周波数制御ですが、どいつが起動時に数値を設定しているのかが分かりました。
Kpowersaveのようです。こいつはcpufreqのフロントエンドなんですが、タスクトレイから右クリックで動作ポリシーを変更できたようですね。今まで気付いてなかったOrz
ということで早速動作ポリシーをダイナミックから省電力へ変更。
が、「動作ポリシーを省電力へ変更で来ませんでした」という警告ダイアログが。実際、/sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_thresholdに何の変化もありません。
そこで動作ポリシーをパフォーマンスに変更。すると件のファイルがなくなりました。ようは周波数制御を行わず、常にMAXで動作しろってことですね。やはりKpowersaveがこのファイルに数値をセットしていたと見て間違いないようです。
ところで、Kpowersaveアイコンを左クリックした時に現れる動作状況を示すダイアログを見ると、現在のCPU動作周波数ポリシーの他に現在のスキームという項目があります。ここがパフォーマンスになっていたので、これを省電力に変更してみることに。
するとどうでしょう。CPU動作周波数ポリシーは同じダイナミックなのですが、件のファイルは90と書かれていました。どうやらスキームとポリシーの組み合わせで数値が決まる模様。というか、スキームの方で細かな設定ができるようですね。
ってなわけでスキームの方をちょこちょこと設定。デフォルトでパフォーマンスやらプレゼンテーションモード、静音モードなどが用意されており、追加も可能なようです。
なんでCPU動作周波数ポリシーに省電力を設定できないのかは不明ですが、とりあえずスキームを省電力にしてポリシーをダイナミックにしたら閾値が90になるのでちょうどいいでしょう。
ちなみに、スキームをダイナミックにしてポリシーもダイナミックにすると閾値は45でした。初期設定の31ってどこで設定されたんだろう・・・。謎だ。45だとそこまで高くないんだけどな。90はちょっと高すぎるかしら。
まぁ夏場はこれくらいでちょうどいいわ。夏場以外は静音設定くらいがちょうどいいかな? これで再起動してまた31に戻ってたらどうしようかしらw