Obviously all the windows are sealed shut.
Which is fair enough in terms of saving energy -- no administrator would be in their office over the weekend. But most academics are constantly fighting to keep themselves afloat in terms of work, and most of us are in on weekends too.
But this is Australia -- the winters get cold enough that it's unpleasant to sit in an unheated office (no insulation) and the summers hot enough that computers get unhappy.
And I'm running a cluster in my office, so on a warmish weekend (above 20 degrees) my tiny office gets really hot. Last night one of my nodes overheated and shut itself down.
So, in want of a better solution, I figure I will throttle the CPUs overnight to give the fans a fighting chance to keep the cpus cool when the aircon is off. In particular weekends, with no air-conditioning from 5 pm on Friday until 8 am on Monday, are a challenge.
Enough talking!
Put the following files in /etc/cron.d
throttle.sh
#!/bin/bash ## minimise heating overnight /usr/bin/cpufreq-set -c 0 -g powersave /usr/bin/cpufreq-set -c 1 -g powersave /usr/bin/cpufreq-set -c 2 -g powersave /usr/bin/cpufreq-set -c 3 -g powersave /usr/bin/cpufreq-set -c 4 -g powersave /usr/bin/cpufreq-set -c 5 -g powersave
slowdown.sh
#!/bin/bash ## minimise heating overnight /usr/bin/cpufreq-set -c 0 -g userspace /usr/bin/cpufreq-set -c 1 -g userspace /usr/bin/cpufreq-set -c 2 -g userspace /usr/bin/cpufreq-set -c 3 -g userspace /usr/bin/cpufreq-set -c 4 -g userspace /usr/bin/cpufreq-set -c 5 -g userspace /usr/bin/cpufreq-set -c 0 -f 2.2G /usr/bin/cpufreq-set -c 1 -f 2.2G /usr/bin/cpufreq-set -c 2 -f 2.2G /usr/bin/cpufreq-set -c 3 -f 2.2G /usr/bin/cpufreq-set -c 4 -f 2.2G /usr/bin/cpufreq-set -c 5 -f 2.2G
unthrottle.sh
#!/bin/bash ## maximise performance during the day /usr/bin/cpufreq-set -c 0 -g ondemand /usr/bin/cpufreq-set -c 1 -g ondemand /usr/bin/cpufreq-set -c 2 -g ondemand /usr/bin/cpufreq-set -c 3 -g ondemand /usr/bin/cpufreq-set -c 4 -g ondemand /usr/bin/cpufreq-set -c 5 -g ondemand
Now edit /etc/crontab
00 08 * * 1-5 root sh /etc/cron.d/unthrottle.sh
00 17 * * 1-4 root sh /etc/cron.d/slowdown.sh00 17 * * 5 root sh /etc/cron.d/throttle.sh
And you're good to go.
No comments:
Post a Comment