Eu recentemente decidi transformar meu antigo Xeon E3-1241 v3 em um NAS. Por razões óbvias, quero usar o mínimo de energia possível, por isso entrei na BIOS e abaixei a velocidade do clock para 800MHz. Esta parte está completamente bem, meu medidor de parede mostra a máquina puxando ~ 60W no BIOS.
Agora, quando eu vou inicializar a máquina, de alguma forma o processo de boot do Ubuntu substitui completamente o multiplicador do BIOS e puxa alegremente ~ 140W da parede durante a inicialização.
Assim que termina o processo de inicialização, ele atinge meu crontab @reboot /usr/sbin/cpufreq-set -u 0.8Ghz
, que o configura de volta para minhas configurações definidas pela BIOS. Para evitar que ele troque de volta para ondemand na marca de 60 segundos, eu removi /etc/init.d/ondemand
. Agora, felizmente fica em 800MHz e 45-60W o tempo todo, exceto quando está inicializando. Perfeito .. Quase.
Eu preciso forçá-lo a ficar a 800MHz mesmo durante a inicialização, pois pretendo definir uma Voltagem vCore mais baixa para economizar ainda mais energia (e prolongar o tempo de vida da CPU / VRM / Motherboard), mas não posso porque substitui as configurações da BIOS durante a inicialização. Atualmente, quando ele tenta inicializar com minha voltagem vCore baixa, ele entra em pânico por metade do tempo enquanto tenta rodar a CPU em 3.5GHz por toda a duração do processo de inicialização. Meu medidor de parede confirma a leitura de alta corrente durante a inicialização e como a máquina não tem nada além da placa de vídeo SSD e servidor instalada, neste ponto podemos descartar a maioria dos outros fatores sendo a causa (Eles estão abaixo de 10W). / p>
Ele só entra nesse estado de energia por cerca de 1 segundo antes de atingir meu crontab / rc.local e é definido para 800MHz. Infelizmente, devido à baixa voltagem vCore, a conclusão do processo de inicialização é um pouco imprevisível.
Tendo feito uma boa quantidade de experimentação, descobri que a maioria das formas de controlar o relógio funciona como echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
. Adicioná-los ao trabalho crontab / rc.local / init.d, no entanto, o segundo mencionado acima ainda é um problema.