4

I have recently decided to turn my old Xeon E3-1241 v3 into a NAS. For obvious reasons I want it to use as little power as possible so I have gone into the bios and I have lowered the clock speed to 800MHz. This part is completely fine, my wall meter shows the machine pulling ~60W in the BIOS.

Now when I go to boot the machine, somehow the Ubuntu boot process completely overrides the BIOS set multiplier and happily pulls ~140W from the wall for the duration of the the boot.

As soon as it finishes the boot process it hits my crontab @reboot /usr/sbin/cpufreq-set -u 0.8Ghz which sets it back to my BIOS defined settings. To prevent it from swapping back to ondemand at the 60 second mark I have removed /etc/init.d/ondemand. It now happily stays at 800MHz and 45-60W all of the time except when it is booting. Perfect.. Almost.

I need to force it to stay at 800MHz even while booting as I intend to set a lower vCore Voltage to save even more power (and prolong the CPU/VRM/Motherboard lifespans) however I cannot for the life of me work out why it overrides the BIOS settings during boot. Currently when it tries to boot with my low vCore voltage it panics about half of the time as its trying to run the CPU at the full 3.5GHz for the duration of the boot process. My wall meter confirms the reading of high current pull during boot and since the machine has nothing other than the SSD and server graphics card installed, at this point we can rule out most other factors being the cause (They are under 10W total).

It only enters this full power state for around 1 second before it hits my crontab/rc.local and is set back to 800MHz. Sadly due to the low vCore voltage the completion of boot process is a bit hit or miss.

Having done a fair amount of experimentation I have found that most ways of controlling the clock work such as echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq. Adding them to crontab/rc.local/init.d work mostly however the above mentioned second is still of issue.

2
+50

Edit /etc/default/grub with your favorite text editor. Find the line that starts with GRUB_CMDLINE_LINUX_DEFAULT= and place the kernel option intel_pstate=disable on it preserving any previous current options (quiet and splash are common) and the spaces in between them as well as the quotes on either end.

Example:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable"

Now update grub with sudo update-grub

Note:The only other thing that comes to mind for reducing power consumption would be to replace the boot/system drive with a SSD. (Note that this can make data recovery in case of failure extremely difficult if not impossible)

  • I will give this a go on the weekend. From what I have seen in testing on my main machine it now defaults to powersave unless I specify otherwise so fingers crossed. – Aedazan Nov 7 '16 at 23:26
  • This works on my i5-2500, i5-2400s, i5-2400 and i5-2310, as such I expect it also works on my Xeon. – Aedazan Nov 10 '16 at 6:50
  • Excellent! I'm expecting the same. – Elder Geek Nov 10 '16 at 16:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.