Powercap (intel-rapl) - 長期電力制限の変更

Powercap (intel-rapl) - 長期電力制限の変更

Ubuntu 20.04 を実行している Intel N4200 ラップトップの長期電力制限を変更するために、rapl-set または powercap-set を使用する方法についての説明を求めています。

まず、Windows 上の ThrottleStop で良好な結果が得られたため、BIOS で長期制約 (事前に設定された最大値まで) を変更できることがわかっています。

私のデフォルトの制約:

powercap-info -p intel-rapl         
Zone 0
  name: package-0
  enabled: 0
  max_energy_range_uj: 262143328850
  energy_uj: 1431662228
  Constraint 0
    name: long_term
    power_limit_uw: 3999744
    time_window_us: 27983872
    max_power_uw: 5999616
  Constraint 1
    name: short_term
    power_limit_uw: 5999616
    time_window_us: 976
    max_power_uw: 0
  Zone 0:0
    name: core
    enabled: 0
    max_energy_range_uj: 262143328850
    energy_uj: 975192877
  Zone 0:1
    name: uncore
    enabled: 0
    max_energy_range_uj: 262143328850
    energy_uj: 308897463
  Zone 0:2
    name: dram
    enabled: 0
    max_energy_range_uj: 262143328850
    energy_uj: 410797898
    Constraint 0
      name: long_term
      power_limit_uw: 0
      time_window_us: 976

ゾーン 0、制約 0 を見ています。長期的には 4w、短期的には 6w に設定されていることがわかります。私が実現したいのは、長期制約を短期制約と等しくすることです。これは、Windows 上の ThrottleStop で実現したものを再現することになります。

そのために、私は次のことを試しましたが、すべて同じことを行うようです。

cd /sys/class/powercap/intel-rapl/intel-rapl:0 && cat constraint_0_max_power_uw | tee constraint_0_power_limit_uw
rapl-set -p 0 -c 0 -l 5999616 -e 1
powercap-set -p intel-rapl -z 0 -c 0 -l 5999616 -e 1

次のいずれかを実行すると、必要に応じて制約が設定されます。

Zone 0
  name: package-0
  enabled: 1
  max_energy_range_uj: 262143328850
  energy_uj: 4600742311
  Constraint 0
    name: long_term
    power_limit_uw: 5999616
    time_window_us: 27983872
    max_power_uw: 5999616

どちらの方法でもエラーは発生せず、関連ファイルは正常に更新されます。ただし、新しい電力制限は遵守されません。設定に関係なくクロックと電力制限が低下することを示す添付の s-tui スクリーンショットを参照してください。

CPU ガバナーは「パフォーマンス」に設定されており、TLP は無効になっています。

何か見落としているのでしょうか? ファイルが存在し、エラーも発生していないため、関連するドライバー/モジュールがロードされていると想定していますが、その性質の何かを見落としている可能性は高いと感じています。

ご協力やご提案をいただければ幸いです。Linux でこれが動作するのを見たことがある人はいますか?

s-tui スクリーンショット

答え1

私は電力制限にrapl-setやpowercap-setは使いません。私が一般的に使うのは

    echo 5999616 | sudo tee constraint_0_power_limit_uw

それは私にとってはいつもうまくいきます。

答え2

電力制限はホストブリッジのmmioレジスタPACKAGE_RAPL_LIMIT_0_0_0_MCHBAR_PCUによっても制御されます。PL.shの設定mmio レジスタを処理する電力制限を設定するスクリプト。

$ sudo setPL.sh 6 6

関連情報