High CPU temperature and high fans level

Ian Smith smithi at nimnet.asn.au
Mon Jul 18 14:05:14 UTC 2016

In freebsd-questions Digest, Vol 632, Issue 8, Message: 21
On Sun, 17 Jul 2016 11:59:32 +0200 David Demelier <demelier.david at gmail.com> wrote:
 > 2016-07-17 0:25 GMT+02:00 Polytropon <freebsd at edvax.de>:
 > > On Sun, 17 Jul 2016 00:06:07 +0200, David Demelier wrote:
 > >> Hello,
 > >>
 > >> I was trying FreeBSD 10.3 on my laptop (hp probook 4510s) and was surprised
 > >> to see high CPU temperature and fans running high.
 > >>
 > >> No apps running, I get a temperature of 57C in dev.cpu.x.temperature and
 > >> fans run high (not able to get rpms).
 > >>
 > >> On a 4.6.3 Linux distro I get an average of 48C and fans are quite low.
 > >>
 > >> Both tests were kept in tty. No Xorg running just a boot and user login in
 > >> console.
 > >>
 > >> Do you have any clue?
 > >
 > > Did you enable powerd? It can slow down the CPU when the system
 > > is idle, and increase the CPU speed when needed. This should have
 > > an effect on CPU temperature and fan speed.

 > Yes, I had powerd enabled, I tried -a adaptive, -a hiadaptive as
 > suggested by Erich but it seems that only -a min has some little
 > effect. I could get a temperature of 52C. I've tested back on Linux
 > and I got an average much lower (41C).

We really need to see what speed the CPU is running at when idle.

I think the fans running high - presumably from the sound and airflow? - 
rules out the sort of sensor errors Arthur reported (ie below ambient :) 
and I assume the box actually feels warmer .. 57C suggests a busy CPU or 
two .. but then it is summer there; what background ambient temp. range?

 > By the way the other sensors in hw.acpi.tz* are also much higher than
 > Linux (using lm_sensors). The highest value is my tz5 which is at 78C
 > almost 5 seconds after boot while the maximum tz value in Linux
 > sensors is 55.
 > I have no idea what's wrong. :(

Normally I'd suggest posting this to freebsd-mobile@ as it's not been 
such an uncommon issue, especially with some makes/models, but you could
try showing these to see if anyone spots something strange:

 % sysctl hw.acpi
 % sysctl debug.acpi
 % sysctl dev.est	# assuming intel? if not, maybe dev.hwpstate?
 % sysctl dev.cpu	# best while idle, maybe plus when busier

A small script you can run at times showing a few useful sysctls related 
to CPU speed, load, states, and relevant temperatures can be handy. Here:

smithi at x200:/var/log % x200stat
Mon Jul 18 23:10:33 AEST 2016  dev.cpu.0.freq: 800
0.00% 0.61% 99.38% last 321us   { 0.01 0.01 0.00 }
0.00% 0.94% 99.04% last 277us   { HPET one-shot }
dev.acpi_ibm.0.thermal: 44 43 -1 44 34 -1 32 -1
hw.acpi.thermal.tz0.temperature: 44.0C  tz1: 42.0C
dev.acpi_ibm.0.fan_level: 0     _speed: 3354
high            capacity: 97%   time: unknown
rate: 0 mW      voltage: 12394 mV

but dev.cpu.0.freq, load averages and relevant TZ temps are the main 
thing for watching what powerd is doing under different sort of loads.

The above, less longwinded parsing of acpiconf -i0 for battery data, is:

# x200stat smithi freebsd 9+ 2 CPUs	# last polished 7/12/15
SN="sysctl -n"; t='	' # a tab 	# backtick haters need not apply
[ `$SN kern.eventtimer.periodic` -eq 1 ] && p=periodic || p=one-shot
echo -n "`date`  "; sysctl dev.cpu.0.freq
echo "`$SN dev.cpu.0.cx_usage`${t}`$SN vm.loadavg`"
echo "`$SN dev.cpu.1.cx_usage`${t}{ `$SN kern.eventtimer.timer` $p }"
sysctl dev.acpi_ibm.0.thermal
echo -n "`sysctl hw.acpi.thermal.tz0.temperature`"
echo "${t}tz1: `$SN hw.acpi.thermal.tz1.temperature`"
echo -n "`sysctl dev.acpi_ibm.0.fan_level`"
echo "${t}_speed: `$SN dev.acpi_ibm.0.fan_speed`"

cheers, Ian

More information about the freebsd-questions mailing list