web-dev-qa-db-ja.com

明らかに必要な場合でも、冷却ファンが高速に達することはありません

Chromeでビデオを視聴しているとき、CPU消費は非常に高くなります(明らかにそうではありません)。これは、最近発生したいくつかのリグレッションによるものです(以前は発生しませんでした)が、ここではポイントではありません。何かが多くのCPUを消費していると仮定しましょう。

Intel_powerclampとintel_raplを無効にしたため、CPUの消費量が多くなると、CPUを冷却するために必要な速度で冷却ファンが高速になると予想されます。

代わりに、ファンが最高速度に到達することはなく、それに近い速度に達することはありません。また、システム全体の速度が低下し、無応答になります。これは、intel_powerclampを有効にしたときと非常によく似ています。しかし、「kidle_inject」プロセスは上部に表示されません。

冷却ファンが本来の速度で回転しないという証拠は、コンピューターを再起動すると、システムが(ブートメニューで)起動する前に、ファンが異常な速度で回転することです。これは、(1)OSの実行中よりも高速に処理できること、および(2)OSが起動してより良いと判断するまで、ハードウェアが温度を必要とすることを「考える」ことを証明します。

私はそれについて2つの説明しか見ることができません:

A)一部のソフトウェア構成では、ファンの速度が制限されています(おそらく、intel_powerclampも存在し、ジョブの半分を実行するという仮定の下で構成されているためです)。そのため、現在の速度のファンはCPUを冷却するのに十分ではなく、intel_powerclampはCPUの使用を制限しないため、CPUの一部の内部ハードウェア保護が作動してスロットルを調整し、燃え​​ないようにします突然オフになるハードリミット)OF

B)無効にしたintel_powerclampとintel_rapl(intel_powerclampの動作方法はわかりますが、intel_raplの動作方法はわかりません)の他に、同様の方法で動作する他のドライバーがあります。

(A)の場合、ファンを最大容量で動作させ、温度を下げてハードウェア保護を開始するのに十分であるかどうかを確認するために、構成を修正する必要があります。

(B)の場合、おそらくどちらかを試してみたい

[B1]他のソフトウェアまたはセミソフトウェアベースのCPUスロットリングメカニズムがうまく機能していないものをすべて無効にし、ファンだけで十分かどうかを確認します。または

[B2] CPUスロットリングが始まる前にファンがより速く動作できるように、何らかの方法で重み係数、しきい値、または優先順位の構成を微調整します(できればそれが起こらないようにすることもできます)。

誰が(A)または(B)であるかを理解する方法と、これを修正する方法を知っていますか?

Thermaldの構成については https://wiki.ubuntu.com/Kernel/PowerManagement/ThermalIssues を読みましたが、それはひどく不明瞭であり、実用的な例はありません。

4
matteo

サーマルでこの演習を行ったところです。最初に、16.04の新しいバージョンでも、その構成ファイルを読み取らないため、thermaldが破損したことを指摘する必要があります。この問題は修正されたため、すべての更新プログラムがインストールされていることを確認してください。

また、参照するページは非常に優れており、サンプルのthermal-conf.xml構成ファイルも含まれています。

次に、thermaldがインストールされていると仮定して、プロセスを停止し、-no-daemonモードで再起動して、出力を注意深く監視します。独自のthermal-conf.xmlファイルを設定するために必要な答えのほとんどを提供します。 cdev(冷却装置)などに注意してください。

須藤サービスサーマルストップ

Sudo thermald --no-daemon --loglevel = debug

以下に、カスタムのThermal-conf.xmlファイルのコピーを示します。

<?xml version="1.0"?>
<ThermalConfiguration>
<Platform>
    <Name>Toshiba Laptop</Name>
    <ProductName>*</ProductName>
    <Preference>QUIET</Preference>
    <ThermalSensors>
            <ThermalSensor>
                    <Type>x86_pkg_temp</Type>
                    <Path>/sys/class/thermal/thermal_zone0/</Path>
                    <AsyncCapable>1</AsyncCapable>
            </ThermalSensor>
    </ThermalSensors>
    <ThermalZones>
            <ThermalZone>
                    <Type>cpu package</Type>
                    <TripPoints>
                            <TripPoint>
                                    <SensorType>x86_pkg_temp</SensorType>
                                    <Temperature>59000</Temperature>
                                    <type>passive</type>
                                    <ControlType>PARALLEL</ControlType>
                                    <CoolingDevice>
                                            <index>0</index>
                                            <type>Processor</type>
                                            <influence> 10 </influence>
                                            <SamplingPeriod> 5 </SamplingPeriod>
                                    </CoolingDevice>
                                    <CoolingDevice>
                                            <index>1</index>
                                            <type>Processor</type>
                                            <influence> 10 </influence>
                                            <SamplingPeriod> 5 </SamplingPeriod>
                                    </CoolingDevice>
                                    <CoolingDevice>
                                            <index>2</index>
                                            <type>Processor</type>
                                            <influence> 10 </influence>
                                            <SamplingPeriod> 5 </SamplingPeriod>
                                    </CoolingDevice>
                                    <CoolingDevice>
                                            <index>3</index>
                                            <type>Processor</type>
                                            <influence> 10 </influence>
                                            <SamplingPeriod> 5 </SamplingPeriod>
                                    </CoolingDevice>
                                    <CoolingDevice>
                                            <index>4</index>
                                            <type>intel_powerclamp</type>
                                            <influence> 30 </influence>
                                            <SamplingPeriod> 10 </SamplingPeriod>
                                    </CoolingDevice>
                                    <CoolingDevice>
                                            <index>5</index>
                                            <type>rapl_controller</type>
                                            <influence> 50 </influence>
                                            <SamplingPeriod> 10 </SamplingPeriod>
                                    </CoolingDevice>
                                    <CoolingDevice>
                                            <index>6</index>
                                            <type>intel_pstate</type>
                                            <influence> 40 </influence>
                                            <SamplingPeriod> 10 </SamplingPeriod>
                                    </CoolingDevice>
                                    <CoolingDevice>
                                            <index>7</index>
                                            <type>rapl_controller_dram</type>
                                            <influence> 50 </influence>
                                            <SamplingPeriod> 10 </SamplingPeriod>
                                    </CoolingDevice>
                            </TripPoint>
                    </TripPoints>
            </ThermalZone>
    </ThermalZones>
</Platform>
</ThermalConfiguration>
2
heynnema