Tengo un servidor que, a partir de la actualización a 10.04, ahora ejecuta el demonio de escala de CPU "ondemand". ¿Por qué instalaría esto automáticamente? No quiero que mi servidor ahorre energía a expensas del rendimiento.
Tengo un servidor que, a partir de la actualización a 10.04, ahora ejecuta el demonio de escala de CPU "ondemand". ¿Por qué instalaría esto automáticamente? No quiero que mi servidor ahorre energía a expensas del rendimiento.
Respuestas:
En lugar de deshabilitar la ejecución del /etc/init.d/ondemand
script (como lo sugiere George), debe usar el comando this
sudo update-rc.d ondemand disable
Para que el sistema init no inicie el script, esta es la forma reconocida de hacerlo. La desactivación del permiso de ejecución ( sudo chmod -x /etc/init.d/ondemand
) podría sobrescribirse si se actualiza el paquete.
El escalado de frecuencia no es estático. Tan pronto como queda trabajo por hacer, la CPU entra en acción, los estados P aumentan y todo vuela.
Está habilitado porque es ampliamente visto como algo bueno. Le ahorra energía (bueno para su billetera y el medio ambiente). Mantiene el calor bajo ( tan importante en una sala de servidores). Y es bastante imperceptible.
Además, en los chips Intel modernos, si tiene escalado, puede usar "turbo boost", donde un núcleo funcionará a velocidades superiores a las existentes por un tiempo. Esto es muy útil para picos de trabajo de un solo hilo. Sin el escalado habilitado, no obtienes esto.
Puede instalar la herramienta rcconf debian:
sudo apt-get install rcconf
luego deshabilite el servicio "ondemand" desde allí.
Configure todas las CPU en el regulador de rendimiento:
for GOVERNOR in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; \
do \
echo "performance" | sudo tee $GOVERNOR; \
done
Todos los gobernadores compatibles con el kernel de Linux:
Ver https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt
sudo echo > ...
no hace lo que esperas: askubuntu.com/q/230476/158442
Para hacer que todas las CPU funcionen con el máximo rendimiento continuamente en un escritorio o servidor Ubuntu, ejecute:
sudo chmod -x /etc/init.d/ondemand
en el indicador de shell e ingrese su contraseña. Esto deshabilita el script de shell que hace que todas las CPU se ejecuten a velocidad "OnDemand", lo que las convierte en predeterminadas a velocidad máxima (Rendimiento). Deberá reiniciar para que esto surta efecto.
Solo he probado esto en Ubuntu Jaunty 9.04, pero debería funcionar y no causar problemas en ninguna versión de Ubuntu.
Creo que los valores predeterminados de Ubuntu son extraños para esto. Un escritorio o servidor debería ejecutarse a toda velocidad, en mi opinión.
Saludos, George
ondemand
se equivoca.
En algunos sistemas, el gobernador 'ondemand' está desafortunadamente roto.
Este es el caso de "Intel (R) Core (TM) 2 Quad CPU Q9300 @ 2.50GHz" y kernel 2.6.32-42.
El núcleo cree que puede establecer la frecuencia individualmente para cada CPU, mientras que el hardware solo permite configurar la frecuencia en grupos de varias CPU (por ejemplo, CPU 0 y 1 juntas, y CPU 2 y 3 juntas).
Puede descubrir que el núcleo no es consciente de esto mirando los archivos / sys / devices / system / cpu / cpu * / cpufreq /fected_cpus que contienen "0", "1", "2", "3" en lugar de "0 1", "0 1", "2 3", "2 3".
El efecto visible de este desajuste es un proceso de subproceso único que comienza a funcionar a toda velocidad en una CPU (el gobernador 'ondemand' reacciona rápidamente) y luego, después de aproximadamente 20 segundos (depende de los detalles de configuración), pierde parte de su velocidad.
La razón es que el sistema operativo, con el gobernador 'ondemand', vuelve a aplicar periódicamente bajas frecuencias en las CPU inactivas, sin esperar que también cambie implícitamente las frecuencias de nuestra CPU ocupada. Ni siquiera es visible cuando miras / sys / devices / system / cpu / cpu * / cpufreq / * cur_freq o / proc / cpuinfo, ¡el sistema operativo simplemente no lo sabe!
Entonces, en estos sistemas, la solución es volver al simple regulador de "rendimiento".
PD: En mi caso, ejecutar las CPU constantemente en su frecuencia completa no cambió nada con respecto al ruido del ventilador. Supongo que cuando una CPU está inactiva, una frecuencia más baja o más alta no tendrá mucho impacto en su uso de energía.
¡Tengo un nuevo procesador AMD Athlon II X4 631 (procesador Fusion para el zócalo FM1) y no ahorra energía en absoluto (lo miré con un medidor de energía)! No tengo un turbo core, por lo que no necesito la configuración a pedido. La mayoría de los procesadores nuevos ahorran energía por sí mismos.
Al realizar una evaluación comparativa, hay una pequeña diferencia, en el rango de 1-2%, al comparar la configuración de demanda y rendimiento.
Esto es antiguo, pero dado que nadie lo mencionó, y en aras de la exhaustividad, agregaré que el argumento de cómo la CPU que funciona a la velocidad máxima desperdiciará energía, producirá calor, ruido del ventilador, etc. es INCORRECTO .
Casi todas las CPU modernas, especialmente las CPU de escritorio / servidor, entrarán en modo de reposo profundo cuando estén inactivas (google race to idle).
La escala de voltaje probablemente ahorrará más energía, por lo que en las computadoras portátiles esto podría aumentar un poco el tiempo de ejecución, pero en las computadoras de escritorio y servidores que ejecutan el regulador de rendimiento estará bien para la mayoría de los usuarios 'normales' (que no ejecutan granjas de servidores o similares).
Utilizo el rendimiento del gobierno con mi i7-2600k y la temperatura de la CPU generalmente es de alrededor de 30 C.