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

그래서 Zone 0, Constraint 0을 보고 있습니다. 단기 제한은 6w이고 장기는 4w로 설정되어 있는 것을 볼 수 있습니다. 제가 달성하고 싶은 것은 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에 의해 제어됩니다. 당신은 사용할 수 있습니다setPL.sh해당 mmio 레지스터를 관리하는 전력 제한을 설정하는 스크립트입니다.

$ sudo setPL.sh 6 6

관련 정보