Powercap (Intel-Rapl) – Ändern des langfristigen Leistungslimits

Powercap (Intel-Rapl) – Ändern des langfristigen Leistungslimits

Ich brauche eine Erklärung, wie ich entweder rapl-set oder powercap-set verwenden kann, um das langfristige Leistungslimit auf meinem Intel N4200-Laptop mit Ubuntu 20.04 zu ändern.

Erstens weiß ich, dass mein BIOS eine Änderung der Langzeitbeschränkung (bis zu einem voreingestellten Maximum) zulässt, da ich mit ThrottleStop unter Windows gute Ergebnisse erzielt habe.

Meine Standardeinschränkungen:

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

Ich schaue mir also Zone 0, Einschränkung 0 an. Sie können sehen, dass sie langfristig auf 4 W eingestellt ist, mit einem kurzfristigen Limit von 6 W. Was ich erreichen möchte, ist, die langfristige Einschränkung gleich der kurzfristigen Einschränkung zu machen, was das nachbilden würde, was ich mit ThrottleStop unter Windows erreicht habe.

Zu diesem Zweck habe ich Folgendes ausprobiert, was anscheinend alles dasselbe bewirkt:

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

Eine dieser Optionen scheint die Einschränkung wie erforderlich festzulegen:

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

Bei beiden Methoden tritt kein Fehler auf und die entsprechenden Dateien werden erfolgreich aktualisiert. Allerdings wird das neue Leistungslimit nicht eingehalten. Bitte sehen Sie sich den beigefügten S-TUI-Screenshot an, der zeigt, wie die Taktfrequenz und das Leistungslimit unabhängig von den Einstellungen sinken.

Der CPU-Regler ist auf „Leistung“ eingestellt und TLP ist deaktiviert.

Übersehe ich hier etwas? Ich gehe davon aus, dass der entsprechende Treiber/das entsprechende Modul geladen ist, da die Dateien vorhanden sind und keine Fehler auftreten, aber es fühlt sich so an, als ob ich etwas dieser Art übersehen hätte.

Ich wäre für jede Hilfe/jeden Vorschlag sehr dankbar.Hat das schon mal jemand unter Linux funktionieren sehen?

s-tui Screenshot

Antwort1

Ich verwende weder rapl-set noch powercap-set für die Leistungsbegrenzung. Was ich im Allgemeinen verwende, ist das

    echo 5999616 | sudo tee constraint_0_power_limit_uw

Bei mir funktioniert es immer.

Antwort2

Die Leistungsgrenzen werden auch durch das Hostbridge-MMIO-Register PACKAGE_RAPL_LIMIT_0_0_0_MCHBAR_PCU gesteuert. Sie können dassetPL.shSkript zum Festlegen von Leistungsgrenzen, das sich um dieses Mmio-Register kümmert.

$ sudo setPL.sh 6 6

verwandte Informationen