Solved CPU fan speed running at full speed despite system being 100% idle

On a FreeBSD 12.1 install (powerd enabled and running), the CPU fan speed is at 100% even though top is indicating the system is 100% idle. If I do sysctl -a | grep cpu, I see the CPU frequency is the lowest (800MHz). As for the cx_usage, I see 100% 0% 0% on both cores.

The CPU heat sink looks to be mostly clean so I don't think it is a physical obstruction causing the problem.

The CPU is an Intel Core 2 Duo T8100.

How can I get the CPU fan to backoff to a sensible level.
 
Is this a laptop? If so, which modell?

powerd() doesn't care about the fan at all.
There might be sysctls to control the fan speed (and sometimes also bios settings).
 
If it's a laptop, load acpi_xxx, e.g. in /etc/rc.conf
Code:
kld_list="${kld_list} acpi_dock acpi_ibm acpi_video acpi_wmi"
If this does not help:
Usually this is due to a buggy ACPI implementation of the BIOS (strict conforming ones are very rare). Solution:
  1. sysctl machdep.idle{_available,}
  2. try # sysctl machdep.idle=hlt or spin
  3. if it stops the fan, add hw.machdep.idle=hlt or spin to /etc/sysctl.conf
 
Yes, it is a laptop - it is an HP DV9700. Yes, I know powerd doesn't care about the fan, but I would think that if the CPU is idling and running at a lower frequency, then the fan would naturally run slower too. I checked the BIOS, and there are no settings for me to adjust.

I tried the above and did not notice any difference in fan speed. I will keep looking.
 
acpi_hp() doesn't seem to implement fan sysctls..

Did you try sysctl -a |grep fan?

Did you check your CPU temperature? In summer, it might heat up a bit.
 
Correction, the fan was not spinning at 100%, it was spinning higher than I recall it spinning with another OS. When I started X11 (i3), then the fan went to 100% as it sounds like a jet about to take off. After exiting out of X11 / i3, the fan is still maxed out. The laptop has an Nvidia Geforce video card in it, but I don't recall having this issue previously (on another OS). I'll have to dig more, perhaps it is related to the graphics too.
 
sysctl -ad | grep fan
Oh and yes, the (2nd/additional?) GPU can get much hotter than the internal one (intel-HD, on-chip). So if you do not want to play 3D games, edit complex 3D-CAD models, use 3D-rendering or otherwise use 3D extensively, just do not use it and stick with the internal GPU. it's performance is more than sufficient for desktop use. It's 3D performance is even ok for light use of the above use-cases.
Look in the FreeBSD wiki for how to tune your laptop for power efficiency.
Try sysrc powerd_flags="-a adaptive -i 75 -r 95" and restart powerd(8)
 
Hi Elazar,

I also tried acpi_hp, nothing, and with sysctl -a | grep fan, also nothing (and sysctl -ad was the same). Also, running sysctl -a | grep cpu | grep freq (dev.cpu.0.freq), I can see that after I started X11 (even after exiting), the CPU is running at 2.1GHz (max speed).
 
My CPU usage is near 0 even when running X, it stays at or above 96% idle. After I exit X, the fan is still spinning away at the speed it ramped up to when starting X. It was loud just idling, but after starting X (and even after killing it), it continues at the superspeed ...
 
My last thought on this is that maybe the system really believes that it is overheated. Like, a faulty temperature sensor.
 
sysctl hw.acpi.cpu.cx_lowest dev.cpu.{0,1,2,3}.cx_usage
grep cx /{boot/loader,etc/{rc,sysctl}}.conf

The cx_usage should at least show non-zero values in the 2nd row (C1 state)
And you can set in /etc/rc.conf
sysrc {economy,performance}_cx_lowest=Cmax
provided your CPU is not too old. Core iX should be fine w/ this. Some old Core 2 not.
 
I started the system in i3 with my pre-configured session and let it run for about 30 minutes. A fair amount of effort was spent running atom even though top reported it was only 5 - 10% of the CPU (which is still a lot for doing nothing). I exited atom and let the laptop sit, the fan did spin back down to a normal level after a few minutes. I am used to other systems where it is fairly tightly coupled to the CPU / CPU load.

I think the issue was with atom and perhaps having a slower laptop. When running Ubuntu with a full Gnome session, it spins down fairly quickly. I will have to accept that as a difference.
 
Sorry I did not read your CPU is Core 2 duo. Then set
sysrc {economy,performance}_cx_lowest=C2
Cmax is for modern i3/5/7 CPU with TurboBoost.
What do you mean with "running atom"?
 
  • Thanks
Reactions: a6h
atom is a text editor that runs on node, it seems like it is a bit heavier than other text editors like geany. Let me try that and see.
 
Back
Top