3 ms·
Ask HN: How do you slow down a specific process enough to avoid fan noise?
Can this be done without access to the process source code? Can this be automated?
The process in question is Podcasts on macOS, which can cause fan noise while refreshing feeds.
- smoldesu 4y agoFor the most part, your OS will probably govern the speed and temperature of your CPU. You can do certain things to point your OS in the right direction like nicing your program at a low value, but I don't think there's a "limit thread frequency" value or anything like that you're missing. Edit: just read that this is about MacOS. IIRC, GCD will move certain programs to exclusively use your efficiency cores if you set their priority low enough. I forget how you do that exactly though, so you're kinda on your own.
- devmor 4y agoI'm not sure about a long running process, but off the top of my head I could imagine how to monitor a process and adjust its CPU usage for future runs. It would very much depend on what kind of hardware you have, though. If the fans are PWM and if they have the RPM line enabled, you could potentially monitor the fan speed and use a utility like cpulimit. Anything else I can think of would require overengineering like building a decibel meter and connecting it over serial or IP.
- brucethemoose2 4y agoThis is better addressed on the processor's end, as even if you "throttle" a process, your CPU is still going to turbo to a noisy state. In fact, it could make energy efficency worse by encouraging the CPU to run at higher clocks in short bursts (whereas it runs at slower, more efficient clocks during long constant loads). How you do this depends on the OS and CPU. RyzenAdj, for instance, works on AMD processors on linux and windows.
- brucethemoose2 4y agoOh yeah, if this is a ARM Mac, force the process to the efficiency cores.
- PaulHoule 4y agoIn Windows you can set the maximum CPU state which, if you set it low enough, means your machine will never spin up the fan very much. With a Dell laptop you can accomplish this by partially inserting the power plug such that the third connector that communicates the capability of the power supply doesn’t connect and your machine will be super-sluggish.