CPUを高性能に設定

CPUを高性能に設定

私は答えを見つけるためにインターネットで数時間を過ごしました。私が見つけたすべては役に立ちません。 Ubuntu 20.04、カーネル5.4.0-33で動作するIntel i9-9980HKがあります。

問題は、ロード全体でCPUが周波数を2.7 GHzに減らすことです。電力予算を低く保つようです。どんなに努力しても、より速く実行することはできません。摂氏65度以下に保たれ、静かでゆっくり数字を計算します。比較のために、Windowsでは、同じシステムはフルロード時に3〜4 GHz以上で動作します。

私が試したこと:

  • 知事をに変更してもperformance効果はありません。
  • 設定。効果/sys/devices/system/cpu/cpufreq/policyX/energy_performance_preferenceはありませんperformance
  • sudo service thermald stop。効果はありません。
  • 増加する/sys/devices/system/cpu/intel_pstate/turbo_pct。ルートとしてもアクセスが拒否されます。
  • 増加する/sys/devices/system/cpu/cpufreq/policyX/scaling_min_freq。効果はありません。

わかりません。それは何がほしいと思うか。ところで/sys/devices/system/cpu/intel_pstate/statusそうですactive

修正する。なぜそうなのか分かると思います。有効にすると、intel_pstateすべての設定(governor以下のすべての設定/sys/devices/system/cpu/cpufreq)は無視されます。このようなツールではcpupower制御できませんintel_pstate。したがって、問題はintel_pstateドライバーをどのように制御するかによって引き起こされます。

答え1

解決策はこれをintel_pstate=passiveカーネルに渡すことです。その後、intel_pstateハンドコントロールを再びCPUFreq。後者はまだintel_pstateCPUを制御するために使用されますが、intel_pstate実行される操作については言及しません。その後、最終的にパフォーマンスポリシーを設定できます。ラップトップを完全に静かにすることも、騒々しいが強力にすることもできます。有効にすると、intel_pstate機械は静かで正常に動作しませんが、常に遅くて騒々しいです。

2年で更新されました

物語にもっと多くがあることがわかりました。問題のコンピュータはギガバイトのラップトップです。やはりGigabyteで新しいラップトップを購入するとき、1つのトリックは役に立ちませんでしたintel_pstate=passive。私はより深く掘り下げ始め、(i)ノートパソコンがWindows以外のオペレーティングシステムで実行されている場合、Gigabyteのファームウェアはパフォーマンスを制限することを発見しました。 ACPIは_OSIを介して実行されているオペレーティングシステムを知っています。さらに、ラップトップメーカーは、システムの監視とパフォーマンス管理に役立つLinuxカーネルを提供し、小規模ベンダー固有のドライバを作成することがよくあります。カーネルのソースコードを見ると、drivers/platform/x86Dell、HP、Asus、Lenovo、Fujitsu...についての内容が多いことがわかります。まあ、(ii)Gigabyteはこれに関して何もしません。最初の問題は、acpi_os_name="Windows 2015"これをカーネルに渡すことで解決できます。パフォーマンスが良くなります。ただし、Gigabyte ノートブックが Linux で実際に動作するには、誰かがそのためのカーネルドライバを作成する必要があります。次のユーザースペースの回避策があります。このプロジェクト、カーネルのデバッグ機能を活用し、組み込みコントローラレジスタに直接値を書き込みます。これは危険であり、ECに関する文書化されていない情報が必要です。代わりに、私たちがしなければならないのは、ファームウェアでWMIのACPIメソッドを呼び出すことです。

答え2

コメントで述べたように質問CPUの設定を変更する方法に関する多くの情報があります。

「ondemand」と呼びますが、他のレギュレータを設定するのはなぜですか(たとえば、 intel_pstate ドライバを使用するとスリープレギュレータを設定します)。このツールは intel_pstate ドライバーより前のバージョンなので、現在までに支配的な周波数スケーリング・ドライバーが acpi-cpufreq ドライバーであり、「ondemand」が優先される Ubuntu 基本レギュレーターだった時代にさかのぼります。

インテルPステータス:LinuxカーネルのCPUパフォーマンス拡張サブシステム(CPUFreq)の一部です。 Sandy Bridgeおよびそれ以降の世代のIntelプロセッサ用の拡張ドライバ。ただし、これらのプロセッサの一部はサポートされない場合があります。 intel_pstateを理解するには、CPUFreqが通常どのように機能するかを理解する必要があります。したがって、CPUのパフォーマンススケーリングを読んでいない場合は、今が読んでいます。

intel_pstate=disableカーネルブックパラメータを追加して無効にすることができます。詳細は次のとおりです。ここ

関連情報