Powercap (intel-rapl): cambio del límite de potencia a largo plazo

Powercap (intel-rapl): cambio del límite de potencia a largo plazo

Estoy buscando alguna aclaración sobre cómo usar rapl-set o powercap-set para cambiar el límite de energía a largo plazo en mi computadora portátil Intel N4200 con Ubuntu 20.04.

En primer lugar, sé que mi BIOS permite la modificación de la restricción a largo plazo (hasta un máximo preestablecido), ya que obtuve buenos resultados con ThrottleStop en Windows.

Mis restricciones predeterminadas:

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

Entonces estoy mirando la Zona 0, Restricción 0. Puedes ver que está configurada en 4w a largo plazo con un límite a corto plazo de 6w. Lo que me gustaría lograr es hacer que la restricción a largo plazo sea igual a la restricción a corto plazo, lo que replicaría lo que logré con ThrottleStop en Windows.

Con ese fin, probé lo siguiente, y todos parecen hacer lo mismo:

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

Cualquiera de estos parece establecer la restricción según sea necesario:

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

Con cualquiera de los métodos, no se produce ningún error y los archivos relevantes se actualizan correctamente. Sin embargo, no se respeta el nuevo límite de potencia. Consulte la captura de pantalla de s-tui adjunta que ilustra la caída de los relojes y el límite de energía independientemente de la configuración.

El regulador de la CPU está configurado en "rendimiento" y el TLP deshabilitado está deshabilitado.

¿Me estoy perdiendo de algo? Supongo que el controlador/módulo relevante está cargado debido a que los archivos están presentes y no se producen errores, pero parece difícil que esté pasando por alto algo de esa naturaleza.

Cualquier ayuda/sugerencia será muy apreciada.¿Alguien ha visto este trabajo en Linux?

captura de pantalla s-tui

Respuesta1

No uso rapl-set ni powercap-set para limitar la potencia. Lo que uso en general es que

    echo 5999616 | sudo tee constraint_0_power_limit_uw

Siempre me funciona.

Respuesta2

Los límites de potencia también están controlados por el registro mmio de hostbridge PACKAGE_RAPL_LIMIT_0_0_0_MCHBAR_PCU. Puedes usar elsetPL.shscript para establecer límites de potencia que se encarga de ese registro mmio.

$ sudo setPL.sh 6 6

información relacionada