Different temperature reports by different apps?
Solution 1:
I did some digging into the temperatures returned by the system management controller (SMC) of my macbooks - a MacBookPro2,1 and a MacBookPro11,2. As far as I know they are not published and below are the labels I could identify - mostly from this question on Stack Overflow Description for Apple's SMC Keys and iStat Pro.
As you can see apart from there being lots of choices of what to report (temperatures for CPU proximity sensor, individual core temperatures, package temperatures, CPU PECI sensor) their location doesn't remain constant between models.
If your app was designed to report label 2 which is "CPU 1 package" temperature on a MacBookPro2,1 and you ran it on a MacBookPro11,2 (with no other checks) you'd end up reporting the temperature of the first battery sensor instead.
If your apps are giving different temperatures they are either choosing a different sensor value to report as the temperature or (possibly) reporting the results of the wrong sensor.
Of the options in this question Can I get the CPU temperature and fan speed from the command line in OS X I'd be inclined to trust the sudo powermetrics
option (as it is part of the OS) or Intel Power Gadget (as they made the CPU).
chip "applesmc-isa-0300"
# Macbookpro2,1
label temp1 "Battery TS_MAX"
label temp2 "CPU 1 Package"
label temp3 "CPU 1 Proximity"
label temp4 "CPU 1 Heatsink"
label temp5 "GPU 0 Proximity"
label temp6 "GPU 0 Discrete Thermal Diode"
label temp7 "Mem Bank A1"
label temp8 "TTF0:"
label temp9 "Heatpipe 1"
label temp10 "Heatpipe 2"
label temp11 "Mainboard Proximity"
label temp12 "Palm Rest"
chip "applesmc-isa-0300"
# Macbookpro11,2
label temp1 "Battery TS_MAX"
label temp2 "Battery 1"
label temp3 "Battery 2"
label temp4 "TBXT"
label temp5 "CPU 1"
label temp6 "CPU 1"
label temp7 "CPU 1 Proximity"
label temp8 "CPU Core 1"
label temp9 "CPU Core 2"
label temp10 "CPU Core 3"
label temp11 "CPU Core 4"
label temp12 "PECI GPU"
label temp13 "TCMc"
label temp14 "PECI SA"
label temp15 "TCTD"
label temp16 "PECI CPU"
label temp17 "TH0A"
label temp18 "TH0B"
label temp19 "TH0F"
label temp20 "TH0R"
label temp21 "TH0V"
label temp22 "TH0a"
label temp23 "TH0b"
label temp24 "TH0c"
label temp25 "Mem Bank A1"
label temp26 "Mem Module A1"
label temp27 "PCH Proximity"
label temp28 "PCH Die"
label temp29 "Airport Proximity"
label temp30 "Ta0P"
label temp31 "TaSP"
label temp32 "Heatpipe 2"
label temp33 "Heatpipe 3"
label temp34 "Palm Rest"
label temp35 "Memory Proximity"
label temp36 "Ts1s"