Chris911/iStats

Temps not updating

Opened this issue · 8 comments

Hello,

I'm running iStats 1.6.1 on a 2015 MacBook Pro with MacOS 10.15.2.

I have noticed that temperatures only update around once every 5 minutes when using iStats. For example, my cpu temperature has been stuck at 48.13 for a while now, even though I'm not idling anymore. I made sure to reset SMC and NVRAM. No luck.

Intel power gadget seems to be updating temperatures consistently, however they are slightly hotter that iStats (I assume it's reading a different sensors).

To replicate:

  • Let computer idle
  • Run "watch istats"
  • Take note of cpu temp
  • Open a browser or other program
  • Check CPU temp

If you're having the same issue as me, you'll notice that there is no change in any of the temperatures.

Thanks!

Edit: I have noticed putting my laptop to sleep for a few seconds, the reawakening it forces the temperatures to update.

Edit: I have noticed that temps do update regularly, but only whilst the laptop is on charge. As soon as the machine is disconnected all stats freeze for at least 5 minutes.

Hi,

I am curious how you are 'watching' istats. Where/how did you install the watch binary as that might be more the issue and I'd like to use the same watch feature you are trying to.

Hi,

I am curious how you are 'watching' istats. Where/how did you install the watch binary as that might be more the issue and I'd like to use the same watch feature you are trying to.

It's a standard command from Linux procps package
You can get it on Mac by doing
brew install watch
https://linux.die.net/man/1/watch
The issue still occurs even if I manually re run the command every few seconds. It's affecting osx-cpu-temp also, so I assume it's something to do with SMC

@connor-brooks check this issue for some info: #74

I just tried on my machine with watch --color -n 10 iStats and the temperature is updating. If that doesn't work there's a few other scripts in my comments that can give you the same result.

Hey, @Chris911

Even if I manually run the command, it seems values only update if the machine is connected to power.

Weird I'm currently on the battery and the CPU temperature is updating. The code simply reads from a sensor on every execution so if there's some caching done (perhaps to save power when not connected) that's handled in the SMC component and controlled by Apple. Might depend on the hardware and/or OS version.

Interesting. I do notice that when there is a rapid change in temps (30 to 50 in less than a minute) The temps update fine. But slight changes between 30-40 in the same period won't show.

I am using watch from procps-ng 3.3.16 and it is working well on my system. Have even tried with macOS 10.12 - 10.15

Hey,
Sorr, I should have been more clear in my original post. The problem isn't watch: I was only using watch to periodically update iStats. Even if I manually run the command repeatedly I still have this issue.