3

Applications installed on macOS are not always completely self-contained. Sometimes they write files in multiple locations outside their .app bundle, taking up space that they sometimes occupy even after we uninstall them.

What I'm more interested in with this question, is understanding the ways in which an application (even when not launched), can slow down the OS (eg. boot time, shutdown time, GUI responsiveness, app launch time).

I know that applications (both malicious and not) install:

  • kexts
  • Login Items
  • LaunchDaemons
  • LaunchAgents

Beyond these four, what are other ways in which installed software can negatively impact the performance/stability of the overall OS?

1

Program packages also contain information of their capabilities. Files like info.plist have to be scanned and added to the LaunchServices database. If that grows for example a right-click on a file can take quite a bit longer to make this noticeable enough.

Sometimes an application installs a bucket full of fonts, that nobody wants, mainly certain office applications.

Caches are nice, if they are indeed small. The macOS caches grow and self-corrupt over time, mandating a deletion as there is no on-board mechanism to rectify this.

LaunchDaemons and LaunchAgents (at /System/Library/, ~/Library/ and /Library/)

are also found within application packages and in any case: "not running at the time" doesn't mean they do not run "sometime", eg when you're not really looking. These are for LaunchDaemons, LoginItems and XPCServices. Usually these are moved on app-launch to their 'proper' places, but they can be also active from within the app (or by a proxy copied to a nested container in ~/Library).

Some examples:
- really pestering: VOX.app/Contents/Library/LoginItems/Loop.app & VOX Agent
- Another example might be DefaultFolderX: every time a file dialog opens this app adds its own routines from 9 frameworks to the once process
- some audio software installs plugins into /Library/Audio/Plug-Ins which then hook into the audio system and are not visible from Activity Monitor, despite adding to the system load when audio plays, trashing the app leaves the plugin behind
- HP Printer Software has a Device Monitor running, that eats away CPU and is hard to find on disk

All programs leave behind cruft. Caches, receipts, preferences, database entries no longer valid etc. Everything within an application package goes if you drag it to the trash. But I know of no single de-installer that really catches all the cruft that gets littered around by the majority of applications.

Therefore the more programs are installed the slower the system gets. Compared to 90s Windows this shouldn't get out of hand that easily.

Some of the top locations to really watch out for other than /Applications:

/Library/Extensions
/Library/Audio/Plug-Ins
/Library/Bundles
/Library/Caches
/Library/Frameworks
/Library/Input\ Methods
/Library/Internet\ Plug-Ins
/Library/LoginHook
/Library/QuickLook
/Library/ScriptingAdditions
/private/var/db
/private/var/folders

That list is far from complete and also applies to the corresponding folders under /Users.

  1. Uncontrolled – and often quite unnecessary – installers, writing files all over the place are one problem. Unless you can inspect them with eg Pacifist, they should be considered "untrusted", and monitored closely.

  2. There is no uninstaller in macOS. Once a program gets installed you have to trust the developer that the program doesn't write files all over the place and adds login-hooks, startup-programs, extensions, frameworks, fonts, daemons, input methods or plugins – to the system (or user Library)

  3. The sheer number of applications/executables presents a slow down factor. One quite small one, compared to the above, but it nevertheless adds to the problem.

  4. Actual malware or PUPA. Downloading and trying out lots of programs increases the chance that a bad apple gets onto the system and ruins the badge.

  5. If the system is installed on HFSplus then of course the good old inefficiency of said system comes into play, to a degree. For example the directory structures get more inefficient over time, one reason why products like DiskWarrior exist. On APFS things are different, but there are not enough reports out there to say empirically whether it got better or worse overall. Generally all SSDs slow down when getting full and with age. The more files on it the more decisions the controller has to make on where to write the next bits and in the background all those bits have to be shuffled around for TRIM, GC and wear-levelling (not to mention plain bugs like in Samsung 840EVOs).

  6. After a fresh install you may realise that isn't necessarily a really clean install: Sometimes a problem or slowdown factor was your reason to re-install the system, but then you used Migration Assistant, which is not always intelligent enough to not also migrate the problem to the new installation as well.

  7. Psychology –– After re-installing a clean system it will certainly feel great to be able to do stuff with it again, after sitting through the long wait and reboots and rebuilds of things like caches and Spotlight indexes etc.

When your Mac runs slow, give it a tuneup
Speed Up Your Mac
7 Common Mistakes That Slow Your Mac Down
Why is my Mac Running Slow?
Why Is My Mac Running Slow? 5 Quick Tips to Speed Up Your Mac!
26 Reasons Why a Mac Computer is Running Slow [Infographic]
Keep apps and extensions to a bare minimum
How-To: Clean and speed up your Mac with free, trustworthy downloads How-To – Unclutter your hard drive


As @jksoegaard rightly comments: a single 1KiB file that never gets used will not slow down the system. The above is just addressing the general bloat that badly written and maintained software unloads without benefit to any user on small but expensive SSDs, where these files and bigger ones are numbering into the thousands. A few kilobytes here a few megs there, after a while you realise that some gigabytes added up and are nothing but pure waste. Unfortunately, most of the software for macOS falls now into that category (prime example: /System/iOSSupport/System/Library/PrivateFrameworks/MobileIcons.framework/Versions/A/Resources/MessagesDefaultIcon-32.png -> 32x24 pixels, but occupying the modest amount of 10,265,058 bytes on disk! Or the latest cruft by design. ) It's not worth hunting down these bloaters daily, but you paid for this waste. So, once in a while, a good scrubbing, wherever possible, is in order.

  • When the program is uninstalled, i.e. removed from the computer, there's not an info.plist file to scan anymore. Also stuff like caches, receipts, preferences and database entries do NOT slow down the system in general. – jksoegaard Feb 22 at 13:04
  • @jksoegaard Just dragging the app to the bin is just insufficient either. I haven't quantified how much slowdown comes from active cruft or cruft just eating space on (small=bigger effect) drives. But just trusting in the fiction of 'well-behaved SW' runs counter to the reality of actual systems really slowing down noticeably. How do you uninstall an app cleanly that inserts an always active Audio-Plugin deep in /Library on launch without notice to you & w/o an uninstaller (that plugin doesn't even show up in Activity Monitor and persists after deleting the app) – LangLangC Feb 22 at 13:17
  • 1
    This is an excellent post @LangLangC, very informative, thank you; I'm still going through the things you mention! Would your care on elaborating slightly on how/why the existence of Extensions, Bundles and Frameworks affects system speed? I also couldn't find the meaning of PUPA anywhere – FotisK Feb 22 at 19:07
  • 1
    @jksoegaard It's not that any one of these possible reasons in itself will cause a massive slow down. All these factors contribute to slowing, to various degrees. If you judge eg Boom to be malware, than what is your view on Adobe products (or other not well-behaved SW that now requires 2B constantly online, running 12dozen daemons and wotnot in the bg). Manually removing a plugin is just the thing you need to know about in the first place. I once was to a Genius who couldn't find the culprit either. My testMac gets ~12 new apps a week and I have to cleanup regularly. – LangLangC Feb 22 at 20:10
  • 1
    @LangLangC I'm trying to correct a common misunderstanding. I'm trying to convey that it is a fact that having an extra file laying around that is never used is not going to make your system slow down in general. This is not an opinion, nor does it say anything about Adobe Software or anything else. It just a common misconception that I'm trying to correct because a lot of people spread this "rumour", and as a result others spend lots of valuable time getting rid of tiny files from their system while gaining absolutely nothing in terms of speed improvements. – jksoegaard Feb 22 at 22:16
3

One notable absentee from your list is the category 'plugins'. I.e. additional software that runs within existing software on your Mac. It could be browser plugins, plugins for Microsoft Office, or many other types of plugins.

Besides that there's not really supposed to be other ways if you're only installing "well-behaving" software.

If you install software that is more or less malware, it could wreak havoc with your system by modifying system binaries, system configuration, system firmware or by creating other ways like LaunchDaemons/LaunchAgents to ensure that its own software is run on boot and continues to run.

  • Thank you @jksoegaard for your answer! Well pointed out: Plugins that run inside host applications such as the browser or MS office are another culprit indeed (but only when the host program is running). Also well-put about well-behaving software. However not all software that isn't ..well-behaving.. is malicious! I'm primarily interested in learning about these "other ways" that you mention, the ways that non-conforming programs can use to burrow their tendrils in the system and (intentionally or not) wreak havoc. Given that SIP is active which of these are an actual issue? – FotisK Feb 22 at 18:52
  • Malware, which are non-conforming programs, can use exploits to bypass SIP. But yes, SIP is in place to guard against exactly these types of programs. – jksoegaard Feb 22 at 19:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .