CPU temp and governor control?

Here’s a thought - and it seems the sort of thing that might be suitable for Cron job but I don’t know the ins-out of how things work on this bit:

I’ve noticed that the Orange Pi (and presumably others) have CPU governors to throttle the system and a CPU command that tells us how warm our oven is and if it’s time to put the roast in.

Joking aside, my OPi sits in a room currently about 10 C and even with a copper sink, it’s still more than capable of running itself to the point where the SOC is ready to burn out. During a busy period, I had to throttle it back to just 600 MHz (I know right!) to stop it passing the 60 C mark.

This sounds like a job for a simple script to monitor the CPU temp (perhaps every minute) and if the temperature exceeds a certain point, to throttle back for a while until it drops to a preset limit.

Now there IS a problem here… constantly heating and cooling the solder is a sure way to break something due to a stress fracture and that could conceivably shorten the life of the board. It’s the sort of thing that needs careful consideration but I wonder if it’s worth adding in to the existing system?


UPDATE - it’s not just the clock speed but also the SOC’s other work that generates heat - this is after doing several hours of work over USB shifting data between a couple of drives. Remember this is in a room at 10 C ambient and with a heatsink. If this had bee pegged at 1.3G, it would likely have burned out the SOC in an couple of hours.

Architecture | armv7l
Temp | 52’c | Running warm, but safe.
Governor | ondemand
Throttle up | 95% CPU usage

Current Freq Min Freq Max Freq
CPU0 | 864 MHz 60 MHz 864 MHz
CPU1 | 864 MHz 60 MHz 864 MHz
CPU2 | 864 MHz 60 MHz 864 MHz
CPU3 | 864 MHz 60 MHz 864 MHz

Just wanted to chime in on something you said.

Now there IS a problem here… constantly heating and cooling the solder is a sure way to break something due to a stress fracture and that could conceivably shorten the life of the board. It’s the sort of thing that needs careful consideration but I wonder if it’s worth adding in to the existing system?

Speaking ONLY to the soldering and constant cooling and heating. This isn’t going to be a problem on an SOC board simply because the solder doesn’t melt until it’s over 400 degrees Fahrenheit. Even some of the weakest solder out there (52In-48Sn type) doesn’t melt until you hit 244 degrees. So that said, I wouldn’t worry about your solder becoming weak or whatever since you’d have to have the Pi running at that temp as well. By then the silicon wafer of the ARM would be dead or deformed.

Now as far as the Pi’s heat management, it has safeguards in place to ensure that it doesn’t go about 85 Celsius. Generally, if the Pi is running in a room at average temps or lower, it’s not going to burn out as the throttling will bring the system back to a safe zone.

Now, would a script be “nice”? Sure, it would be nice but I personally wouldn’t see this as a high priority or even a necessity since the system is already pretty easy to keep cool, provided you’re not running it in a toaster oven or something like that. If all else fails, there are USB powered fans that you could run from the Pi itself to cool the board directly with a heat sink combo and touch of elbow grease.

Are you asking for an option that will multiply all CPU usage numbers by the number of processors/cores?