One or another of the various macOS background daemons that comes with the operating system is always popping up and using a ton of CPU in the background. This is generally slightly bothersome, but it's really annoying while I'm trying to play demanding video games that really need the system's full attention. This visibly hurts the framerate and I need to go and investigate in iStat Menus or something to nuke the offending process manually.
Is there a way to comprehensively pause or at least aggressively throttle all system background activity while I'm doing something demanding? Mostly I want this for applications that are demanding of input responsiveness, like video games, but it would be nice for CPU intensive batch jobs that might take an hour or two to run, too; tell the system to please chill out in the background and not suck up either CPU or I/O to let the jobs run either more repsonsively or faster.
I'm being non-specific because “Why is daemon X taking up so much CPU” is a common genre of question on this site and others like it (previously, previously, previously, previously, previously, previously, previously, previously, previously, previously, previously). All of these daemons are implicated at various points. Probably the worst offenders are syspolicyd
, AMPDevicesAgent
, and worst of all suggestd
, but all the usual suspects show up at one point or another.
As such, I'm not looking for a permanent answer for how to fix these problems all the time, i.e. how to make these daemons go away, because:
- There's too many of them; I am resigned to just having weird energy leaks and performance problems until Apple provides some more transparency for their background daemons.
- At least for right now, they're mostly behaving themselves most of the time, and I realize they provide value by indexing things and doing stuff in the background to provide responsiveness in the moment.
- With an Apple Silicon machine, they appear to mostly be persistently scheduled onto the Efficiency cores and have less of a devastating performance and battery impact than they used to, as a result.
What I'm looking for is more of a temporary fix for when I need maximum performance, which would allow me to simply quiet down the background performance interference rather than shutting it down completely. I know the system needs this stuff to run for all the functionality to work and I don't want to take an axe to necessary parts of the OS, but I'd also like to get a consistent 120 FPS in 5-year-old games without dropping to 2-3FPS for a minute and getting killed because it was really important to Mail.app to make sure I could instantly search for some direct marketer's phone number because it downloaded a new message into its spam folder.
suggestd
is scanning Mail’s database, among others, sporadically in the background regardless of whether the app is open. Making a second account has no effect because many of these background services are system-wide and don’t require my main user to be logged in to run and consume CPU.