Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

MirComputers

macrumors member
Original poster
Nov 9, 2020
56
25
Milano, Italy
Hello everyone, i would like to have a thread about debloating macos, where we can discuss the various services and background tasks that can be killed to improve the performance of macOs. I have tried to post some similar discussions on Hackintosh forum without much success, and i find it strange there is not much on the subject anywhere other than the github discussion for the script by pwnsdx - https://gist.github.com/pwnsdx/1217727ca57de2dd2a372afdd7a0fc21

I would like to create and mantain such thread if it does not exist and there is interest around the subject.
 
This sounds a good idea, as I know on the PowerPC forum there were many tips to optimise the OS such as disabling Spotlight, disabling Dashboard, and Monolingual - which would strip down all extra languages that one would normally never use. Also optimization of the browser, which would noticeably speed up the loading of website pages.

I appreciate that with PPC's every little debloat to the OS helped to increase the performance, but with the significant increase in power available with Intel pcu's, the need for debloating became less of an issue. Which doesn't mean it isn't required, and I'll leave it to those more knowledgeable than myself to suggest possible solutions.
 
I use Monolingual to get rid of all languages except English.

I also TURN OFF Spotlight and LEAVE it off. For searching I use "EasyFind" and "Find Any File" (both are free).
 
I already have done a lot of research myself on the topic - both space on the drive and service disabling stuff in a script i made myself, and i find it strange that there is not a place to discuss this topic anywhere. Intel MBA with 2gb soldered mem benefit a ******** from this, and any core2duo cpu would appreciate having less icloud **** calling home every second to process. Also helps battery life for sure.

Monolingual is very nice but it does more on the apps and space side, nothing on the Ram, also there is a lot of language stuff inside macos itself. I am willing to write all my findings, just wanted to know if i missed some thread before starting it.
 
Great tips, thank you!

I think an OS version bloat comparison would complement the de-bloating guide nicely:

1. Boot Time to Login
2. Login Time to Desktop
3. Total load time for default OS version of Safari, Photos, Mail?

Covering El Capitan to Big Sur 10.11 10.12 10.13 10.14 10.15 and 11.

I haven't found this kind of comparison anywhere. I have just joined after getting my first mac in nearly 20 years, a pretty 2015 Macbook Air. Obviously the CPU is pants, scoring 1/5th what my PC gets on CPU benchmark. It's got Big Sur and felt sluggish even on a clean install. El Capitan is snappy!
 
Last edited:
i have to say i was expecting more follow up here, there are some githubs where this stuff is discussed but they are a bit hard to follow

i have finally found time to test debloating on Big Sur - working with csrutil authenticated-root disable - and Monterey, where it seems impossible to do anything on the root partition

sadly, after debloating on bigsur i am unable to clone using any tool like SuperDuper or CCC - this makes testing so much harder!

some new findings around the web:

- Monterey code seem to be compiled with very good tuning: https://www.phoronix.com/scan.php?page=article&item=macos-12-linux&num=11

Catalina was losing a lot more before: https://www.phoronix.com/scan.php?page=article&item=macos1015-win10-ubuntu&num=10

Now if only i could debloat it...

- list of process https://web.archive.org/web/20170222052540/http://triviaware.com/macprocess/all

- "

Wyvern commented 11 days ago


Finally got the right method to disable/remove MRT.


sudo launchctl disable gui/501/com.apple.MRTa
sudo launchctl remove gui/501/com.apple.MRTa

"

- github with BigSur services: https://gist.github.com/b0gdanw/40d000342dd1ba4d892ad0bdf03ae6ea

- disabling logging : https://mjtsai.com/blog/2017/03/13/sierra-logging-spew/

anyone with good scripting skills can actually tell wich script is better to disable logging? in the comments i find
"
#!/bin/bash

for i in $(ps -ax -opid=); do echo $I #Uncomment following line… #log config —process=$i —mode ‘level:eek:ff’;
done

"

another one wrote

"
pids=$(ps -e | grep -v -F 'PID' | awk '{print $1}')

for pid in $pids ; do
sudo log config --process=$pid --mode 'level:eek:ff'
done
"

and the last one

"

MacUser

December 11, 2020 8:56 AM
Just wanted to drop this here, there are still some logs being written it seems after using log config but this command will be far more efficient at getting all current PIDs and only running the command on them.
Break down of the command is: run with sudo, get all processes from every user, pipe through awk and return only second column which is the PID, then pipe each PID though xargs which passes it to the log config command.

sudo ps -alA | awk '{ print $2 }' | xargs -I 'log config --process=% --mode "level:eek:ff"'

"
 
Last edited:
i have to say i was expecting more follow up here
The thread is going better than I expected when we spoke one year ago :)
As I’m responsible for that, I’ll try to clarify a few things:
I’ve been using pwnsdx’s scripts for a long time, back when it was made for Sierra https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3
Unfortunately, Apple decided to ignore or restrict the use of launchctl unload -w especially in Catalina.
When I upgraded to Big Sur I noticed that, with SIP disabled (csrutil disable from Recovery), launchctl disable can be used to stop unwanted services from running and prevent them from starting again. Those that run under a user/admin account do not need SIP modification to be disabled.
First I tested them one by one https://gist.github.com/b0gdanw/40d...e6ea/3e6ec841c6e27c6199094575abdf4fde0266caa0
Then I integrated the ones I wanted in the script form from pwnsdx.
The values are written into /private/var/db/com.apple.xpc.launchd/ and the modifications can be reverted with launchctl enable.
From my tests, these should not be disabled: com.apple.bird, com.apple.FileProvider (saving prompt issues), com.apple.SafariBookmarksSyncAgent (Safari freezes when closed).
com.apple.geod can be theoretically disabled, but it will be started by various apps/processes anyway. Apple really needs to know your location ;-)
 
The #1 thing I would love to see is some way to remove System fonts from Monterey... and I don't think there's any script that's going to do that.
 
The #1 thing I would love to see is some way to remove System fonts from Monterey... and I don't think there's any script that's going to do that.
I remove oriental and cyrillic fonts with my personal scripts, i started doing this with machines that had Fusion Drive, when i take the HDD out i install the OS inside the original 32gb SSD and then symlink the user folder and /applications on the new SSD,but the OS partition can still get filled by temp data so i want to make room for all that i can. I still had no success working with monterey but i did not try that hard yet.
 
sudo launchctl disable gui/501/com.apple.MRTa
sudo launchctl remove gui/501/com.apple.MRTa

This does not seem to work anymore with Ventura.
 
  • Wow
Reactions: sorgo †
sudo launchctl disable gui/501/com.apple.MRTa
sudo launchctl remove gui/501/com.apple.MRTa

This does not seem to work anymore with Ventura.
Try
Code:
launchctl unload -w /Library/Apple/System/Library/LaunchAgents/com.apple.MRTa.plist
for MRTd
Code:
sudo launchctl unload -w /Library/Apple/System/Library/LaunchDaemons/com.apple.MRTd.plist
PS
I gave up on Ventura for the moment and I don't recommend disabling MRT.
 
  • Like
Reactions: MirComputers
It would be good if each line had a comment saying what user perceived functionality is being disabled/broken.
pwnsdx’s Catalina version had categories, unfortunately he deleted his github account.
Some versions with descriptions https://gist.github.com/junkblocker/ae66b724e3893f4cde93e188eeac8b26
https://gist.github.com/andrewp-as-is/da2493a262eaa4de6623e09d654924f5
Most of them are self-explanatory: if it starts with com.apple.icloud … it must be iCloud related :)
For some you can read the manual page in Terminal: man routined returns
“routined -- A daemon that learns the historical location patterns of a user.”
 
For some you can read the manual page in Terminal: man routined returns
“routined -- A daemon that learns the historical location patterns of a user.”
I know this is only an example, but it does typify the problem. Doesn't tell me what user functionality I would be losing. I suspect it is "some loss of Siri functionality" which in itself is somewhat vague.

I like your list, but only as a starting point for someone who already has a strong understanding of how the background processes interact.
 
Windows and Linux users are very good st this and explaining what things we do. As Mac OS gets more bloated we could do with a program to debloat all or parts of it
 
  • Like
Reactions: MirComputers
There maybe privacy and security functionality that need a close look at. Siri seems a good target for example followed by cloud services..
 
  • Like
Reactions: sorgo †
As Mac OS gets more bloated we could do with a program to debloat all or parts of it
Unfortunately, as macOS becomes more bloated, it’s getting harder and harder to de-bloat.
In Ventura, if you disable the FindMyDevice service, you can’t delete local user accounts. It returns the error: “The operation couldn’t be completed. (com.apple.icloud.FindMyDevice error 13.)”
Previously, in Monterey and below, only erasing external disk drives was affected.
Both examples showcase the level of spyware embedded into macOS nowadays.
erase.jpg
 
  • Like
Reactions: MirComputers
Maybe better to approach it with a 'Hardening Mac OS' rather than 'de-bloating' or a combination there of.
 
  • Like
Reactions: gilby101
Any updates/further progress to share @bogdanw ? :) Thanks for your tireless work!
I’m currently testing a compromise solution.
It doesn’t disable com.apple.icloud.FindMyDevice, so that Disk Utility would work, but disables other useless ones that it might trigger (com.apple.geod).
https://gist.github.com/b0gdanw/c99e5b2eefad19932554a713384dcc70
It needs some clean-up, re-checking if each launch agent/daemon still exists, as Apple removed some of them in recent macOS versions.
 
  • Like
Reactions: MirComputers
I’m currently testing a compromise solution.
It doesn’t disable com.apple.icloud.FindMyDevice, so that Disk Utility would work, but disables other useless ones that it might trigger (com.apple.geod).
https://gist.github.com/b0gdanw/c99e5b2eefad19932554a713384dcc70
It needs some clean-up, re-checking if each launch agent/daemon still exists, as Apple removed some of them in recent macOS versions.
Ah, nice. :) Glad to know progress is going smoothly, thanks again.
 
  • Like
Reactions: MirComputers
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.