Powercap (intel-rapl) - Alteração do limite de energia de longo prazo

Powercap (intel-rapl) - Alteração do limite de energia de longo prazo

Estou procurando alguns esclarecimentos sobre como usar rapl-set ou powercap-set para alterar o limite de energia de longo prazo em meu laptop Intel N4200 executando Ubuntu 20.04.

Em primeiro lugar, sei que minha BIOS permite a modificação da restrição de longo prazo (até um máximo predefinido), pois obtive bons resultados com o ThrottleStop no Windows.

Minhas restrições padrão:

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

Estou olhando para a Zona 0, Restrição 0. Você pode ver que ela está definida como 4w de longo prazo com um limite de curto prazo de 6w. O que eu gostaria de alcançar é tornar a restrição de longo prazo igual à restrição de curto prazo, o que replicaria o que consegui com o ThrottleStop no Windows.

Para esse fim, tentei o seguinte, que parece fazer a mesma coisa:

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

Qualquer um deles parece definir a restrição conforme necessário:

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

Com qualquer um dos métodos, não há erro e os arquivos relevantes são atualizados com êxito. No entanto, o novo limite de potência não é respeitado. Consulte a captura de tela do s-tui em anexo, que ilustra a queda dos relógios e do limite de energia, independentemente das configurações.

O governador da CPU está definido como 'desempenho' e o TLP desabilitado está desabilitado.

Estou faltando alguma coisa aqui? Presumo que o driver/módulo relevante esteja carregado devido à presença de arquivos e nenhum erro sendo produzido, mas parece tão difícil que estou ignorando algo dessa natureza.

Qualquer ajuda/sugestão seria muito apreciada.Alguém já viu esse trabalho no Linux?

captura de tela de s-tui

Responder1

Eu não uso rapl-set ou powercap-set para limitação de energia. O que eu uso em geral é que

    echo 5999616 | sudo tee constraint_0_power_limit_uw

Sempre funciona para mim.

Responder2

Os limites de energia também são controlados pelo registro mmio do hostbridge PACKAGE_RAPL_LIMIT_0_0_0_MCHBAR_PCU. Você pode usar osetPL.shscript para definir limites de energia que cuidam desse registro mmio.

$ sudo setPL.sh 6 6

informação relacionada