Uso de las capacidades CPUfreq del núcleo linux para regular la frecuencia de la(s) cpu(s) del sistema
En este artículo se describe la interfaz de bajo nivel que presenta el núcleo 2.6 a este respecto.
Sin embargo, el uso de esa interfaz de forma directa exige implementar algún mecanismo que se ejecute de forma automática en cada arranque y se ocupe de manejarla según los deseos del administrador.
Existen diversas utilidades y/o demonios que pueden utilizarse para administrar la frecuencia de la(s) cpu(s). Algunas lo hace a traves de ACPI u otros métodos distintos de las capacidades CPUfreq del núcleo.
Las que sí utilizan estas capacidades pueden actuar de dos formas: o bien estableciendo el userspace governor y corriendo como demonios para administrarlo, o bien estableciendo algún otro, fijando sus parámetros de funcionamiento y dejando al núcleo hacer su trabajo.
1. The good way, en mi opinión
Sería éste último, puesto que existen governors en el kernel que, adecuadamente configurados pueden funcionar según uno desea sin necesidad de ejecutar otro demonio mas en tu máquina.
Pero, por el momento, no he encontrado nada que venga preparado así, así es que habría que ponerlo en el TODO, supongo ;)
2. powernowd
Utiliza exclusivamente la interfaz sysfs del núcleo para realizar su cometido y admite una cierta flexibilidad. A pesar de que está diseñado para sacar el mayor rendimiento en sistemas que permiten mas de dos frecuencias, puede adaptarse perfectamente a los que solo tienen dos, es simple y está escrito en C, lo siempre es de agradecer.
Trabaja estableciendo el userspace governor y tiene cuatro modos de funcionamiento. En el fichero de configuración se establecen las opciones de ejecución, mediante las cuales se le indica el modo de funcionamiento y cualquier otra configuración necesaria. Obviamente, cuando se modifican, se debe reiniciar el demonio.
Para ver los modos de funcionamiento y otras opciones, véase man powernowd.