[FreeBSD-users-jp 95229] Re: powerd with high frequency when idling
Kazumaro Aoki
ka at flu.if0.org
Sun Jul 6 17:32:48 UTC 2014
青木@国分寺在住です
From: Hajimu UMEMOTO <ume at mahoroba.org>
Subject: [FreeBSD-users-jp 95227] Re: powerd with high frequency when idling
Date: Mon, 07 Jul 2014 00:12:25 +0900
>>>>>> On Sun, 06 Jul 2014 21:44:34 +0900 (JST)
>>>>>> Kazumaro Aoki <ka at flu.if0.org> said:
>
> ka> どういう時にEPERMになっているのか気になっていますが、全然追えていませ
> ka> ん。引続き情報を待ってます。
>
> 本件と関係あるかどうかは分かりませんが、kernel 内で cpufreq を制御して
> いる場合、userland からの変更要求は EPERM になります。典型的には、CPU
> の温度が高くなりすぎ passive cooling によって cpufreq が落とされている
> 状態です。
まさに、その状態と思われます。
情報ありがとうございます。
今まで数年間以下に書くやりたいことが出来ていたのですが、何かのタイミン
グでうまくいかなくなったというようです。
やりたいこととしては、
1. CPUの温度が高くなり過ぎないようにCPUの動作周波数を調整したい
2. CPUのidle時には動作周波数を落したい。もちろん、必要な時は動作周波数
をあげたい。
上記1の優先順位を2より高く設定したいと考えています。
これまでは、sysctlで
hw.acpi.thermal.user_override=1
hw.acpi.thermal.tz0._PSV=65C
hw.acpi.thermal.tz0._TC1=0
hw.acpi.thermal.tz0._TC2=1
hw.acpi.thermal.tz0._TSP=60
hw.acpi.thermal.tz0.passive_cooling=1
として、optionなしでpowerdを使っていたら上記内容が実現されていました。
現在では、loadが0でもpassive coolingが効いてpowerdによる周波数制御が効
いてないということのようです。
対象マシンは2 core CPUなのですが、実態としては
夏場1 core動作時 … 960MHz
夏場2 core動作時 … 800MHz
冬場1 core動作時 … 1280MHz
冬場2 core動作時 … 960MHz
ぐらいでないとCPU温度が65度以下にはならないようだということはわかって
います。
現状の私の知識では、このちょっとした動作周波数の差で計算能力を稼ぐのは
あきらめて
powerd -M 800
として、passive coolingが始まってしまう前にpowerdでCPUの温度が上がらな
いようにして動作周波数制御するしかないのかなぁと思い始めましたが、何か
うまいアイディアがあれば歓迎します。
青木和麻呂@国分寺市在住
More information about the freebsd-users-jp
mailing list