You are not logged in.

#1 2014-01-13 20:18:57

Mr. Alex
Member
Registered: 2010-08-26
Posts: 623

How to find right CPU temperature in Arch?

Hi guys. I have "ASRock N68-S" mainboard and "AMD Athlon 64 X2 4200+" CPU. I want to add CPU temperature to conky but can't find the right one. If I run "sensors" I have

k8temp-pci-00c3
Adapter: PCI adapter
Core0 Temp:   +29.0°C  
Core0 Temp:   +21.0°C  
Core1 Temp:   +33.0°C  
Core1 Temp:   +20.0°C  

in there to start with. Here it is not obvious where the right temp is. Then I found through Google that generally something like this

CPU: ${alignr}${hwmon temp 1} °С

is used for conky to show CPU temp and I did it, which gave me number of 28–30°C when the CPU is idle. OK, that's something, but then I boot Windows 7 and fire up "Everest". It has (apparently) the very correct numbers showing me temperature of CPU along with temps of CPU core 1 and CPU core 2 (with telling me which is which). And when my Athlon is idle in Windows Everest gives me 33–35°C for CPU (not cores) which is definitely higher than in Arch, which makes me doubt that I have correct numbers in Arch.

Please give a hint on how to watch the right numbers in Linux. And also, which temperature of CPU (of three suggested temperatures) is the one that is the "CPU temperature"? Or do I have to consider at least two temperatures (in case of single core CPU) and it will be seven temperatures to monitor if I have a six-core CPU?

Offline

#2 2014-01-13 23:20:35

anonymous_user
Member
Registered: 2009-08-28
Posts: 3,059

Re: How to find right CPU temperature in Arch?

Have you tried checking the temperature while the CPU is under load? Run some sort of CPU stress test like Prime95.

Offline

#3 2014-01-14 15:13:48

Mr. Alex
Member
Registered: 2010-08-26
Posts: 623

Re: How to find right CPU temperature in Arch?

Yeah, I did in Everest (its "Stability test"). How can it help me?

Offline

#4 2014-01-14 15:32:59

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: How to find right CPU temperature in Arch?

I'm curious as to what leads you to believe that this Everest is infallible and that the lm_sensors must be wrong.

As far as I know, the system temp is reported by the firmware itself.  So it is not as though these programs are going about measuring things on their own.  It is merely regurgitation of readily available information.  I would argue that lm_sensors might be more accurate since it appears to be reporting the readings from all available sensors.

Offline

#5 2014-01-14 16:15:22

anonymous_user
Member
Registered: 2009-08-28
Posts: 3,059

Re: How to find right CPU temperature in Arch?

Mr. Alex wrote:

Yeah, I did in Everest (its "Stability test"). How can it help me?

I should have clarified. You should do a stress test under Linux and check the temps with sensors and see if all four reported temps rise or just two.

Offline

#6 2014-01-14 16:47:55

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,804

Re: How to find right CPU temperature in Arch?

I have been watching this thread for a couple days.  Something is seriously wrong, but I cannot figure it out.   

Core0 Temp:   +29.0°C 
Core0 Temp:   +21.0°C 
Core1 Temp:   +33.0°C 
Core1 Temp:   +20.0°C

There is no possible way that a core is running at 20C if the computer is inside any kind of habitable space.  I don't believe 29C either.  I am dubious about 33C.  My laptop is in a 18C room right now, the lid is closed, I am at $DAYJOB, it is doing very little.  I just checked, and my cores are at 48C.  That is a thirty degree rise in junction temperature over ambient.  The heat sink is not instrumented, but the heatsink to  processor case interface is probably on the order of 30C.   For a processor drawing a dozen Watts or so, these are the sorts of thermodynamic numbers I would expect.


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#7 2014-01-14 22:50:11

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: How to find right CPU temperature in Arch?

ewaller wrote:

I have been watching this thread for a couple days.  Something is seriously wrong, but I cannot figure it out.   

Core0 Temp:   +29.0°C 
Core0 Temp:   +21.0°C 
Core1 Temp:   +33.0°C 
Core1 Temp:   +20.0°C

There is no possible way that a core is running at 20C if the computer is inside any kind of habitable space.  I don't believe 29C either.  I am dubious about 33C.  My laptop is in a 18C room right now, the lid is closed, I am at $DAYJOB, it is doing very little.  I just checked, and my cores are at 48C.  That is a thirty degree rise in junction temperature over ambient.  The heat sink is not instrumented, but the heatsink to  processor case interface is probably on the order of 30C.   For a processor drawing a dozen Watts or so, these are the sorts of thermodynamic numbers I would expect.

Both BIOS and one of the lm_sensors temperature readings that I believe is for the CPU both report that my AMD 1090T idles at around 33C with air cooling. When at full load the sensor peaks slightly under what AMD recommends as overheating, so it seems that it scales well. The ambient temperature where my box is is normally between 14-17C at this time of year.

**EDIT**

At full load the system can approach the high AMD recommends, but usually the ambient temperature inside needs to be significantly higher than what I posted above.

**EDIT2**

Of course this is the CPU temp and not core temps. The core temps should be significantly warmer, but this chip does not include those sensors.

Last edited by skottish (2014-01-14 22:56:47)

Offline

#8 2014-01-14 23:37:29

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,804

Re: How to find right CPU temperature in Arch?

Okay, that might make some sense.  Mine is an Intel, and I know they instrumented the temperature in the die.  My critical temperatures are near 100C (98C IIRC).  What you have said tells me that they are monitoring the case temperature?   

Generally I would expect thermal resistance from Tj to T(ambienton) the be on the order of 1 to 2 Degrees C/ Watt.  If 2/3 of that is from the die to the case, I would still expect to see a 4 or 5 degree rise on the surface.  Maybe I can believe the 29 and 33C numbers.  I still choke on the 20 and 21C numbers hmm


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#9 2014-01-15 00:48:23

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: How to find right CPU temperature in Arch?

ewaller wrote:

Okay, that might make some sense.  Mine is an Intel, and I know they instrumented the temperature in the die.  My critical temperatures are near 100C (98C IIRC).  What you have said tells me that they are monitoring the case temperature?

Eric, I don't understand this stuff at an engineering level, but the CPU temp for processors like mine are considered to start overheating at above 62C. It's unclear to me the differences on where things are measured.

I know that lm_sensors produces four temperatures for my CPU/motherboard combo. The kernel's k10temp module isn't helpful at all, so I ignore it (currently reading well below the ambient temp in my house). The other three *seem* to be CPU, core temp, and case temp. I know that I said before that this processor doesn't read core temps. If I understand it correctly, it's just that it only reports one temp for all six cores.

Offline

#10 2014-01-15 06:14:44

Mr. Alex
Member
Registered: 2010-08-26
Posts: 623

Re: How to find right CPU temperature in Arch?

anonymous_user wrote:

I should have clarified. You should do a stress test under Linux and check the temps with sensors and see if all four reported temps rise or just two.

sensors | head -n 6; stress --cpu 2 --timeout 200s; sensors | head -n 6

k8temp-pci-00c3
Adapter: PCI adapter
Core0 Temp:   +29.0°C  
Core0 Temp:   +20.0°C  
Core1 Temp:   +33.0°C  
Core1 Temp:   +18.0°C  
stress: info: [11280] dispatching hogs: 2 cpu, 0 io, 0 vm, 0 hdd
stress: info: [11280] successful run completed in 200s
k8temp-pci-00c3
Adapter: PCI adapter
Core0 Temp:   +46.0°C  
Core0 Temp:   +43.0°C  
Core1 Temp:   +50.0°C  
Core1 Temp:   +40.0°C

Looks like the CPU has 4 sensors...

WonderWoofy wrote:

I'm curious as to what leads you to believe that this Everest is infallible and that the lm_sensors must be wrong.

Indeed I think that Everest is more accurate in readings because it's a very high quality professional tool to read hardware specs. It gives more info about temperatures and shows which is which whereas in Arch I get some gibberish. Besides, there are more temps on the mainboard, like, say, my MCP chipset, which is absent in Arch and present in Everest. So overall Everest looks way more, um, "confident" in displaying numbers... And yes, I understand that hardware sensors are the same and give same result anywhere. It's just about a program being able to display numbers properly.

By the way, here are temps for idle CPU as shown by Everest:

2014_01_15_061841.jpg

They don't seem to have any connection to lm_sensors's numbers.

Last edited by Mr. Alex (2014-01-15 06:23:35)

Offline

#11 2014-01-15 06:43:45

progandy
Member
Registered: 2012-05-17
Posts: 5,203

Re: How to find right CPU temperature in Arch?

Mr. Alex wrote:

They don't seem to have any connection to lm_sensors's numbers.

Maybe this particular sensor is missing/incorrect in the lm_sensors databse. You'll have to find the right compute statement for your sensor chip. the manpage sensors3.conf (5) contains a section about that.


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#12 2014-01-27 06:57:00

karkhaz
Member
Registered: 2014-01-25
Posts: 79

Re: How to find right CPU temperature in Arch?

Yes, I second progandy's recommendation that you have a look in the database. I had to modify some of the variables in the database for my motherboard. If you find that the database is wrong, make sure to tell the lm_sensors devs!

One method of checking which core is having which temperature is to bake one of your cores at a time (eg using an infinite loop), and then see which one is being baked.

  1. Install htop. Make sure that it has an activity bar for each core, i.e. like this rather than like this. (You can change this by pressing F2 to go into setup).

  2. Write an infinite loop in your favourite language, then run the program. It should execute on one of the cores (you can see which one on htop, the core will run at 100%). Run lm_sensors repeatedly until you have a rough idea of which core is the one heating up.

  3. Do this repeatedly, once for each core, until you are sure.

If none of the cores in lm_sensor appear to be heating up appreciably, then lm_sensors is probably reporting a different temperature than the CPU temperature so you will have to correct the database.

Last edited by karkhaz (2014-01-27 06:58:31)

Offline

Board footer

Powered by FluxBB