web-dev-qa-db-ja.com

CPUガバナーがCPUの最小/最大設定に準拠していない

CPU使用率が確実に最大になるはずのときに、CPUを最大速度で実行することを拒否した後、手動でガバナーを「パフォーマンス」に設定して、CPUを最大速度で実行しようとしました。これは機能せず、CPUは許可された3.2 GHzのうち2.2〜3.0 GHzで動作し続けました。 「パフォーマンス」ガバナーの最小周波数を3.2GHzに設定した後、cpufreq-infoを実行すると次のようになります。

scrotへのリンク

ポリシーでは、周波数は3.2 GHz〜3.2 GHzの間である必要がありますが、4つのコアのうち4つが2.8〜3.0 GHzのどこかで実行されています。

どんな助けも大歓迎です。

1
arkostin01

ガバナーがパフォーマンスに設定されている場合でも、プロセッサは、負荷がまったくない、またはほとんどない状態で、CPU周波数をバックオフすることを自ら決定できることを知っておいてください。また、実際のプロセッサモデル番号によっては、複数のコアが同時にアクティブな場合、最大ターボ周波数が低下する場合があります。ターボスタット(linux-tools-commonの一部だと思います)を使用して、何が起こっているのかを確実に把握してください。

1
Doug Smythies

ストレステストをインストールして最大頻度を取得する

CPUがフルスピードで実行されていることを確認するには、ストレステストを実行します。この答えから: テストCPUとRAMにストレスをかけるには(同時に)? を使用してstressをインストールできます:

Sudo apt install stress

次に、以下を使用してCPUとRAMのストレステストを行います。

stress --cpu 8 --io 4 --vm 4 --vm-bytes 1024M --timeout 20s

powersaveの代わりにperformanceに設定した場合でも、topを実行するか、私の場合はconkyを実行すると、CPUが最大ターボ速度で最大になります。

stress 30 seconds.gif

ディスプレイは、1つの画面でDr. Who Videoを見て、もう1つの画面で4つのFirefoxタブが開いている状態で、摂氏50度で約1100 MHzで数秒間起動します。

次に、ストレステストが実行され、3100 MHzで実行されている4つのコア(8つの仮想CPU)すべてで、温度が摂氏80度に急上昇します。 i7 6700HQ のインテルのwikiページから:

turbo frequency (1 core)    3,500 MHz (3.5 GHz, 3,500,000 kHz) +
turbo frequency (2 cores)   3,300 MHz (3.3 GHz, 3,300,000 kHz) +
turbo frequency (3 cores)   3,200 MHz (3.2 GHz, 3,200,000 kHz) +
turbo frequency (4 cores)   3,100 MHz (3.1 GHz, 3,100,000 kHz) +

公開されている最高速度は3.5 GHz(3500 MHz)で、シングルコア用のターボを使用していますが、4つのコアすべてが最大3.1 GHz(3100 MHz)で動作しています。

0