起動時にcpufreq-info
次の値が表示されます (簡潔にするために最初のコアだけを出力しますが、残りは同じです)。
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 4294.55 ms.
hardware limits: 400 MHz - 4.20 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 400 MHz and 4.20 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 800 MHz.
電源コードを抜くと、最大周波数は1.9GHzに低下します
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 4294.55 ms.
hardware limits: 400 MHz - 4.20 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 400 MHz and 1.90 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 800 MHz.
バッテリーを節約するにはこれで問題ありませんが、コードを差し込むと、範囲の最大値は同じままになります。
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 4294.55 ms.
hardware limits: 400 MHz - 4.20 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 400 MHz and 1.90 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 800 MHz.
元の 4.2 GHz 値に戻すために何かできますか? BIOS はデフォルトに再起動されました。
以下の仕様から、私の理解では、この「基本周波数」はi7-8650U CPU1.9 GHz で、「最大ターボ周波数」は 4.2 GHz です。そのため、intel_pstate
ターボを無視するバグがどこか (ドライバー内?) にあるのではないかと疑っています。
私のスペックは次のとおりです:
ノートパソコン Lenovo T480
Ubuntu 20.04.5 LTS
Intel® Core™i7-8650U CPU@ 1.90GHz × 8
Linux t480 5.15.0-46-generic #49~20.04.1-Ubuntu SMP 木 8月 4日 19:15:44 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
他の
また、コードを再接続した後、ガバナーを「パフォーマンス」に設定しようとしましたが、範囲の最大値には何も影響しませんでした。
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 4294.55 ms.
hardware limits: 400 MHz - 4.20 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 400 MHz and 1.90 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 1.30 GHz.
答え1
この質問の重要な情報は、ベース CPU 周波数が 1.90 GHz、最大ターボ周波数が 4.20 GHz であり、提供された情報に基づくと、ラップトップから充電器を取り外すとターボ ブーストが無効になる可能性があるというヒントが与えられます。
intel_pstate CPU 周波数スケーリング ドライバーを使用する場合、確認する基本的な方法は次のとおりです。
doug@s19:~$ cat /sys/devices/system/cpu/intel_pstate/no_turbo
1
1 はターボ周波数が無効であることを示し、0 はターボ周波数が要求され、必要に応じて使用できることを示します。
そこで疑問になるのが、ラップトップの充電器を抜いたときにターボを無効にしたサービスまたはタスクは何で、充電器を接続したときにターボが有効にならなかったのはなぜかということです。
少なくともいくつかのケースでは、tlp サービス構成が原因のようです。ユーザーによるものか、デフォルトによるものかはわかりません。ファイルの関連領域は次のとおり/etc/tlp.conf
です。
# Set the CPU "turbo boost" feature: 0=disable, 1=allow
# Requires an Intel Core i processor.
# Important:
# - This may conflict with your distribution's governor settings
# - A value of 1 does *not* activate boosting, it just allows it
# Default: <none>
#CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=0
したがって、サービスの再起動または再起動後にこれを有効にするには、「CPU_BOOST_ON_AC=1」行のコメントを解除する必要があります。
質問のコメントから、tlp 構成に追加の問題があったようです。/etc/tlp.conf
ファイルの関連領域:
# Set Intel CPU P-state performance: 0..100 (%).
# Limit the max/min P-state to control the power dissipation of the CPU.
# Values are stated as a percentage of the available performance.
# Requires an Intel Core i processor with intel_pstate driver.
# Default: <none>
CPU_MAX_PERF_ON_AC="100"
CPU_MAX_PERF_ON_BAT="30"
OP は元々「CPU_MAX_PERF_ON_AC」をコメントアウトしていたようです。