I recently bought a A8-7600 APU. It has only 65 W of heat generation. My motherboard is Gigabyte G1.Sniper A88X.
When I enter the UEFI, temperature of my APU is rising to about 60 degrees of Celsius in one, maybe two minutes.
I changed the thermal paste, then box cooler to Arctic Alpine 64 GT and the situation persists.
When I installed OS (Debian, 4.3 kernel so everything works), temperature is about 30 degrees (lm-sensors, k15) and this is fine,
frequency is lower of course due to a CPU governor and power management.
So my questions are:
1. Are temperatures ~60C are normal in UEFI? It seems that APU is running at its full capabilities,
four cores at 3100 MHz, maybe that is the reason.
2. Is such temperature rise ratio, 30C/3-4min. normal?
I'm using Linux, so I can paste output from lm-sensors (isn't coretemp for Intel?):
Adapter: ISA adapter
in0: +1.18 V (min = +0.00 V, max = +3.06 V)
in1: +1.48 V (min = +0.00 V, max = +3.06 V)
in2: +2.03 V (min = +0.00 V, max = +3.06 V)
in3: +2.05 V (min = +0.00 V, max = +3.06 V)
in4: +1.97 V (min = +0.00 V, max = +3.06 V)
in5: +2.22 V (min = +0.00 V, max = +3.06 V)
in6: +2.22 V (min = +0.00 V, max = +3.06 V)
3VSB: +3.31 V (min = +0.00 V, max = +6.12 V)
Vbat: +2.93 V
fan1: 1555 RPM (min = 0 RPM)
fan2: 677 RPM (min = 0 RPM)
fan3: 665 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
fan5: 0 RPM (min = 0 RPM)
temp1: +33.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp2: -8.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp3: +35.0°C (low = +0.0°C, high = +70.0°C) sensor = Intel PECI
Adapter: PCI adapter
power1: N/A (crit = 65.19 W)
Adapter: PCI adapter
temp1: +22.1°C (high = +70.0°C)
(crit = +80.0°C, hyst = +79.0°C)
Adapter: PCI adapter
temp1: +20.0°C (crit = +120.0°C, hyst = +90.0°C)
It is hard for me somewhat to interpret properly those values, because
the AMD use relative temp. scale: http://support.amd.com/TechDocs/49125_15h_Models_30h-3Fh_BKDG.pdf (page 145)
EDIT: I read from this http://support.amd.com/TechDocs/52121_FS1b_TDG_Pub.pdf
that "... For example when Tctl = 65 the processor is 5 °C below its maximum temperature (70 – 65 = 5 °C).
Tcontrol should be used for fan speed control to keep the processor within its functional
temperature specification and can also be used by the system to initiate processor throttling. ..."
Tctl is the raw value read from the sensor. The value Tmaximum is normalized and set regardless of a CPU and equals 70C.
So, in my case, it would be that my A8-7600 is 70-22=48C below maximum temperature, which is 71,3C (http://www.cpu-world.com/CPUs/Bulldozer/AMD-A10-Series%20A8-7600.html)
So it's about right, 23C? Hmm, something is not right here
EDIT2: I ran some stress tests (stress-ng, it can calculate pi, fibonacci, floating point calculations, etc.).
Intel PECI is Intel technology, but somehow it is the most reasonable value from those
above. Is it possible that this sensors are in AMD processors? It is DTS technology, capable
of reading each core temperature. But in the docs, AMD wrote that on APU there is only one sensor,
so it is consistent with only one PECI temperature reading.
There is NO public temp applet that reads AMD processor internal temps 100% accurately because the processor design requires specific temp register output algorithm processing. Since the algorithm is only known by AMD, the other applets like "Core Temp", "HWiNFO" and "AIDA64" and older versions of AOD that showed CPU temp, (NOT the current version that shows thermal margin), show a reasonably close temp in the 60C-70C range according to my extensive discussions with AMD Engineering on this subject. Lower temps can be quite inaccurate even showing negative temps at idle. Some mobos or software also process the temp register output incorrectly thus providing inaccurate temps.
Since the only temp that actually matters as far as the processor is concerned is the full load processor temp, then you're processor is fine as long as it doesn't go above 71.3 C - using an applet such as "Core Temp", "HWiNFO" or "AIDA64". (I have no experience with Linux applets but without the proper algorithm they will not be accurate either). If your processor was to reach an unacceptably hot temp, the internal code would lower the processor frequency to cool the processor and then revert back to normal operation. If your processor continued to increase in temp even with the reduced frequency and vcore voltage, at a preset temp, the processor would shut off completely to protect itself from thermal damage.
This won't help answer the question, but here are a few musings.
Now that AMD is in the cooling accessories business with the Wraith cooler, it would be nice if AMD would make temperature detection easier for end users, either by allowing access to their algorithm, or by providing a back end that application developers could use for various OSes. It would be really great if it would work for all past AMD processors that have sensors, but maybe that is just too much work.
It just seems silly that none of the temperature monitoring applications work correctly.
Thanks for all the answers, but according to the @techguy none of monitoring applications get it right I will contact AMD and ask about it. I'll try Shawshank Redemption letter method to influence AMD to release a tool maybe? I'll post the AMD response.
I agree that it would be nice if AMD provided a suitable temp applet or provided the algorithm to temp applet makers. Understand when I say that the temps are not 100% accurate, that according to AMD engineering, the Window based temp applets like HWiNFO, AIDA64, etc. are pretty close to being correct in the 60C-70C range. The farther away from this range, the more inaccuracy. That's why some folks actually see negative C temps at idle. So in the 60C-70C range the temps are close enough to give a pretty accurate reading on the temp applets that process the temp register reading correctly. Some temp applets do not however properly read AMD processor temps and show unreasonable temps across the board. I can't speak to Linux based temp applets however.
Values from my previous post are exactly from the lm-sensors package, which is the best solution for monitoring/reading sensors
on motherboards and CPUs/sockets, even RPM of fans, etc. But CPU temp. is not correct; it is a raw value as I understand, which is
a relative value used for controlling the cooling circuts.
Other solutions are based on reading from virtual filesystems like /sys/ or /proc/, but there is no vendor (AMD) tool for measuring CPU temp.
I hope this will change It is strange however, a lot of information can be read about a processor, using for example dmidecode, lscpu, etc., but not the temperature