Una de las formas más efectivas para reducir el consumo de energía y la salida de calor en su sistema es utilizar CPUfreq. CPUfreq — también se conoce como escalabilidad de velocidad de CPU — permite el ajuste inmediato de la velocidad del reloj del procesador. De esta manera,el sistema puede ejecutar a una velocidad reducida de reloj para ahorrar energía. El gobernador de CPUfreq define las reglas de cambio de frecuencias, ya sea a una velocidad de reloj menor o mayor, y cuándo cambiar las frecuencias.
El gobernador define las características de energía de la CPU del sistema que a su vez afectan el rendimiento de la CPU. Cada gobernador tiene su propia conducta, propósito e idoneidad en términos de carga de trabajo. Esta sección describe cómo elegir y configurar un gobernador de CPUfreq, las características de cada gobernador y la clase de carga de trabajo para la cual cada gobernador es adecuado.
3.2.1. Tipos de gobernadores CPUfreq
Esta sección lista y describe los distintos tipos de gobernadores CPUfreq disponibles en Red Hat Enterprise Linux 6.
cpufreq_performance
El Gobernador de Rendimiento fuerza a la CPU a usar la frecuencia de reloj más alta posible. Esta frecuencia se establecerá de forma estática y no cambiará. Como tal, este gobernador no ofrece beneficio de ahorro de energía. Solamente es apropiado para horas de carga de trabajo pesado y aún así solo cuando la CPU está rara vez (o nunca) inactiva.
cpufreq_powersave
En contraste, el gobernador Powersave fuerza a la CPU a usar la frecuencia de reloj más baja posible. Esta frecuencia se establecerá de forma estática y no cambiará. Como tal, este gobernador ofrece ahorro máximo de energía, pero a expensas del rendimiento de CPU más bajo.
El término "powersave" puede algunas veces ser engañoso, ya que (en principio) una CPU lenta con carga completa consume más energía que una CPU rápida que no esté cargada. Entonces, aunque puede ser recomendable establecer la CPU para utilizar el gobernador Powersave durante los periodos en que se espera baja actividad, cualquier carga alta inesperada durante ese tiempo puede hacer que el sistema consuma más energía.
El gobernador Powersave es más que una "limitante de velocidad" para la CPU y un "ahorrador de energía". Es más útil en sistemas y entornos donde el sobrecalentamiento puede ser un problema.
cpufreq_ondemand
El gobernador Ondemand es un gobernador dinámico que permite a la CPU alcanzar la máxima frecuencia de reloj cuando el sistema está inactivo. Aunque esto permite al sistema ajustar el consumo de energía según la carga del sistema, lo hace a expensas de la latencia entre el cambio de frecuencia. Como resultado, la latencia puede alterar los beneficios de ahorro de energía /rendimiento ofrecidos por el gobernador Ondemand si el sistema cambia, con demasiada frecuencia, entre inactivo y carga de trabajo pesada.
Para la mayoría de sistemas, el gobernador Ondemand puede proporcionar el mejor compromiso entre emisión de calor, consumo de energía, rendimiento y gestión. Cuando el sistema solo está ocupado en momentos del día específicos, el gobernador Ondemand cambiará automáticamente entre frecuencia máxima y mínima según la carga sin ninguna otra intervención.
cpufreq_userspace
El gobernador Userspace le permite establecer la frecuencia a programas de espacio de usuario (o cualquier proceso que esté ejecutándose como root). Este gobernador se utiliza junto con el daemon cpuspeed
. De todos lo gobernadores, Userspace es el más adaptable; y dependiendo de cómo se configure, puede ofrecer el mejor balance entre rendimiento y consumo para su sistema.
cpufreq_conservative
Al igual que el gobernador Ondemand, el gobernador Conservative ajusta la frecuencia de reloj según el uso. Sin embargo, mientras el gobernador Ondemand lo hace de una manera agresiva (es decir, desde lo máximo a lo mínimo y viceversa), el gobernador Conservative cambia de frecuencias gradualmente.
Es decir que el gobernador Conservative se ajustará a una frecuencia de reloj que estime correcta para la carga, en lugar de elegir simplemente entre máxima y mínima. Aunque esto podría proporcionar un significativo ahorro en consumo de energía, lo hace siempre a una latencia mayor que la del gobernador Ondemand.
Puede habilitar al gobernador mediante trabajos cron
. Esto le permite automáticamente establecer gobernadores específicos durante horas específicas del día. Como consecuencia, puede especificar un gobernador de baja frecuencia durante tiempos de inactividad (por ejemplo despues de horas de trabajo) y retornar a un gobernador de frecuencia más alta durante horas de carga de trabajo pesada.