2 minutes
Cooling down your FreeBSD box
For all those who have their machines beneath of their desks (either at work or at home) the amount of noise the boxes generate does make a difference. First I never considered this to be a major issue since in the starting days of my IT experience the computer was just powered on if I worked on it. But by the time the box beneath my desk has become a network server and it couldn’t be turned off just like that. Since then I’ve been looking for a less noisy solution. My last home server was the loudest machine I ever had, due to the poor design (when I bought it, I had to get a replacement machine quite quickly since my only box died suddenly). Finally I was able to replace that infamous machine by two very quiet ones. But then summer arrived and the noise level rose again! I tracked down the problem to a very small temperature spectrum, where these machines operate very quietly. If it’s hotter, they generate a noise level of a vacuum cleaner. I then recalled that the most effective way to reduce noise is to reduce heat. And the hottest part of the computer is the CPU. Luckily the chip manufacturers have implemented frequency throttling mechanisms besides the power consuming features (which are usually unused). Now to the fun part of cooling down:
- Put the following line into your kernel configuration:
device cpufreq
And recompile your kernel. - Make sure you have the ACPI module loaded at boottime. Put
acpi_load="YES"
in/boot/loader.conf
. - Reboot to use the new kernel.
- Put
powerd_enable="YES"
into/etc/rc.conf
and startpowerd
.
If you want to see the power changes, use powerd -v
. The daemon will run in the foreground and write every change to the standard output. The default values are that powerd will decrease the cpu-frequency, if the CPU is idle 90% and increase again if it’s idle 65% or less. With this setup I managed to keep my two boxes quiet even on the hottest summer days!