Ir al contenido

Modo de Energía de la CPU

Astra envía los paquetes siguiendo un horario estricto. Cuando la CPU funciona por debajo de su velocidad máxima, los paquetes salen tarde y la salida se vuelve irregular con carga. En los servidores, configura la CPU en modo de alto rendimiento.

El panel web muestra esta alerta cuando la política de ahorro de energía de la CPU de un host mantiene baja su frecuencia:

The power saving policy holds the CPU on <host> below the clock it is capable of. This could impact application performance

Lo que la provoca depende del driver de la CPU:

  • intel_pstate y amd-pstate-epp: la alerta aparece solo cuando energy_performance_preference es power o balance_power. Aquí el governor powersave está bien: el hardware elige la frecuencia y el turbo sigue funcionando.
  • Otros drivers (acpi-cpufreq, cppc_cpufreq, intel_cpufreq): la alerta aparece con todos los governors excepto performance. Los governors que siguen la carga (ondemand, schedutil, conservative) mantienen una carga de streaming a ráfagas en la frecuencia más baja y solo suben con carga sostenida.

El turbo desactivado no provoca la alerta. Para solucionarlo, cambia al modo de alto rendimiento. “Read more” en la alerta abre la página Tune.

“Do not show again” oculta la alerta para tu usuario en este host. Para volver a verla, desmarca “Hide CPU power save warning” en Settings → Interface.

La utilidad cpupower muestra el driver, los governors disponibles y la política actual. En Debian viene en el paquete linux-cpupower:

sudo apt-get update
sudo apt-get install linux-cpupower

En Ubuntu está en linux-tools-common más el paquete del kernel en ejecución:

sudo apt-get update
sudo apt-get install linux-tools-common linux-tools-$(uname -r)
cpupower frequency-info

También puedes leer estos valores directamente desde sysfs. Basta con comprobar una CPU - en la práctica, el governor es el mismo para todas las CPUs de una máquina:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference
DriverValor que importaEstá bien cuando
intel_pstate, amd-pstate-eppenergy_performance_preferencedefault, performance o balance_performance
acpi-cpufreq, cppc_cpufreq, intel_cpufreq, otrosscaling_governorperformance
sin directorio cpufreq (la mayoría de las VMs)nada que comprobarel sistema invitado no puede fijar la frecuencia

Tune pone todos los scaling_governor en performance y lo aplica en cada arranque. Esta es la solución recomendada para servidores. Para hacer lo mismo a mano:

cpupower frequency-set -g performance

En intel_pstate y amd-pstate-epp esto también establece energy_performance_preference en performance.

En un equipo de escritorio o un portátil, el entorno de escritorio suele controlar esta preferencia: power-profiles-daemon (detrás del ajuste “Power Mode” en GNOME y KDE), o TLP. El perfil Power Saver establece energy_performance_preference en power, y TLP también lo baja cuando el equipo funciona con batería. Cambia el perfil a performance o balanced:

powerprofilesctl set performance

La preferencia también se puede establecer directamente sin cambiar el governor:

echo balance_performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference

Los valores válidos son default, performance, balance_performance, balance_power y power.

Los ajustes hechos con cpupower o tee no sobreviven a un reinicio. Para hacerlos permanentes, añade el comando a /etc/rc.local para que se ejecute en cada arranque. Tune ya hace esto con el governor de forma automática.