Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate CPU throttling status display from "Hot" project? #540

Closed
luckman212 opened this issue Jul 12, 2021 · 9 comments
Closed

Integrate CPU throttling status display from "Hot" project? #540

luckman212 opened this issue Jul 12, 2021 · 9 comments
Labels
enhancement New feature or request
Projects

Comments

@luckman212
Copy link
Sponsor Contributor

I found this cool project on GitHub called 馃敟Hot which shows CPU temp and throttling effects due to overheating. Since it's also written in Swift @exelban, I wonder if you'd consider adding some of this functionality into Stats. It would be nice if the CPU module e.g. could display this info as to whether the CPU was being throttled.

image

@exelban
Copy link
Owner

exelban commented Jul 12, 2021

Hi. Thanks for the feedback.
There was already a ticket (#193) with this proposal.

Could you please explain why you need to see this value?

@luckman212
Copy link
Sponsor Contributor Author

Ah, sorry! I didn't see it was a duplicate.

After upgrading RAM in my Mac mini to 64GB, I noticed CPU was running extremely hot (~96C) and I was worried about throttling. Just thought it could be useful to display this status -- apparently there are a couple of other people who wanted to see this as well. But I understand it's a rare case and not very urgent.

@exelban
Copy link
Owner

exelban commented Jul 12, 2021

In my opinion, throttling could be noticed only by frequency.
I have played with the values CPU_Scheduler_Limit and CPU_Speed_Limit. And when my CPU definitely throttle (CPU drops frequency) these values were 100%. Maybe it's only my case. Or maybe intel turbo boots drop the frequency.

Could you confirm that these values (pmset -g therm) report the throttling?

@luckman212
Copy link
Sponsor Contributor Author

Hmm, I'm not sure I have actually throttled either,

$ pmset -g therm
Note: No thermal warning level has been recorded
Note: No performance warning level has been recorded
2021-07-12 17:23:05 -0400 CPU Power notify
	CPU_Scheduler_Limit 	= 100
	CPU_Available_CPUs 	= 12
	CPU_Speed_Limit 	= 100

But I will pay attention next time CPU gets very hot, and check again.

@exelban
Copy link
Owner

exelban commented Jul 18, 2021

Hi. Any updates?

@luckman212
Copy link
Sponsor Contributor Author

Hi @exelban - thanks for asking.

Ok, I had a little time to play around. I found out pmset -g therm is not a good way to tell if throttling has happened. It's more of a real-time snapshot of conditions at that exact moment, so it usually will report nothing.

However, pmset -g thermlog does provide good info since it runs continously. I recorded this video, showing throttling happening as CPU heats up (using stress-ng -- brew install stress-ng), this is easily reproducible for me now. So, yes I do think it would be nice/useful to display this in the Stats!

stress-ng --cpu 6 --io 4 --vm 2 --vm-bytes 128M --fork 4 --timeout 30s
CleanShot.2021-07-19.at.08.05.59.mp4

@exelban exelban added the enhancement New feature or request label Jul 23, 2021
@exelban exelban added this to To do in Roadmap Jul 23, 2021
@exelban exelban moved this from To do to In progress in Roadmap Aug 23, 2021
@exelban exelban moved this from In progress to Waiting for the next release in Roadmap Aug 24, 2021
@exelban exelban closed this as completed Aug 29, 2021
@exelban exelban moved this from Waiting for the next release to Done in Roadmap Aug 29, 2021
@luckman212
Copy link
Sponsor Contributor Author

@exelban thanks for adding this! 馃憤

@bob-ortiz
Copy link

How does this new feature work?

@exelban
Copy link
Owner

exelban commented Aug 30, 2021

@bob-ortiz in the CPU details you can see the Speed and Scheduler limits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
No open projects
Roadmap
  
Done
Development

No branches or pull requests

3 participants