Cleaning Out the MacBook Attic

 In this second installment (first of the two parts is here), Alex digs into the leftovers from Migration Assistant on his MacBook Pro, finds code almost old enough to vote, and discovers his computer truly can run faster.

Last time, I discussed MacOS’s Migration Assistant, and how it will enthusiastically move all of your old software and settings. This time, I’ll show how to delete it manually; it’s worth the effort.

Your Mac’s Attic

After the (much earlier) migration, I looked at my Applications, and deleted a few. Of course, apps don’t run unless started—or not at all, if they’re incompatible. Unless they auto-start, applications (as compared to daemons) are probably not getting in your way. /Applications holds most of your apps (29 Gigs, for me), including the OS X installer app, if you haven’t thrown it in the trash. At 5 GB, this may be worth deleting, if you’re trying to trim disk usage. (I just did—I can re-download if needed.)

But I didn’t look in other folders, ones holding other, important applications and settings, including various daemons which do auto-start, silently. Complimenting the /Applications folder is /Library, the system-level repository of launch agents, launch daemons, and preference panes. Some of these are controlled by the Login Items preference pane, but others, especially ones transferred from your older computer, may start anyway, even if not listed.

I took the Application Startup list (System Preferences | Users & Groups | Login Items) on faith; surely MacOS knew about applications it had transferred? Seemingly, no; there are multiple services resident on the Mac, moved by Migration Assistant from the older Mac, which don’t show as Login Items. They simply weren’t there.

Astute readers will recall that the Windows Upgrade Adviser checks for application compatibility, including version numbers, before moving your old apps to your new computer. So too does PCMover. The MacOS Migration Assistant doesn’t appear to do that.

Leftovers and Ancient Code

As I mentioned in a previous installment, EtreSoft’s freeware EtreCheck compiles a good list of all the applications, services (“daemons”, in classic Unix parlance), and other cruft in residence. (Much of this information is also in the System Report utility, but not as nicely formatted.) EtreCheck is how I found the Valve Steam client plumbing, the remnants of LogMeIn (Replaced with TeamViewer), and other stuff.

When EtreCheck still showed at least a dozen undead roaming unfettered amongst the innocent, it was time to look in individual folders.

Closer Looks

Launch agents are started by the launchd process, from a plist script (Preference script—essentially, a shell command). You can remove agents from starting via the command-line, but deleting them is more final.

My /library/launchagents folder contained several old plist scripts, including an ancient (2008!) system-stat app, iStat. After some cleaning, my /library/launchagents folder now contains:


There’s Avast’s startup commands, the inevitable Java updater, etc. Note the leftover Logitech preferences, from when I had a Logitech mouse attached; more about that in a moment. There’s also TeamViewer startup scripts, despite having uninstalled TeamViewer and thrown it in the trash. Since TeamViewer hooks pretty deeply into MacOS, for video and sound redirects, I’m going to delete those, too.

/library/launchDaemons contains daemons, or at least the scripts to load them:


Again, Java version-checker, plus the Microsoft Office license-checker, more Avast, Adobe VersionCue (Loaded but never used). Yet more TeamViewer that has to go.

There’s also Google Keystone—a play on Keyhole, codename for American surveillance satellites of the 1990s and source of much of the ground imagery in past generations. Really, that’s for Google Earth, invaluable for determining microwave look angles, scouting for hikes, and looking for easter eggs.

/library/PreferencePanes holds all the “Preference Panes”, Macspeak for third-party control panels, themselves (As separate from daemon launchers or preferences). Mine looked like:


This is after I removed the Logitech control panel (Ok, “Preference pane”) itself, a leftover from when I had a Logitech mouse. Before deletion, it ran, found no Logitech devices, appeared benign; still, since it was 2008 code, out it went.

Remove an item from System Preferences by control-clicking (Right-clicking, on a two-button mouse) then clicking “remove” on the menu. I’m sure you could also delete it from the PreferencePanes directory itself, but whatever legerdemain the Mac goes through to delete a pane seems complex, so I’d rather not take a chance.

And we’re still not quite done with the zombie-stomping. /System/Library/Extensions contains, as you might imagine, a long list of kernel extensions. EtreCheck showed many of them running on my computer, including ancient Virgin Mobile drivers (For a tethered-mode hotspot), even older Sierra Wireless drivers (Ditto), the inevitable LogMeIn drivers, old RIM/BlackBerry communications drivers, and Logitech drivers. After careful consideration, I’ve deleted these. Also present, but not running: Several dozen H-P drivers, apparently for printers, which I left alone.

As I discussed previously, preferences and programs fall into two types: Global, for all users, in /Library and /System/Library; Per-user, in the /<user>/Library folder. Unsurprisingly, I also have personal launch agents, in /Library/LaunchAgents:


That includes Citrix GoToMeeting preferences, personal Avast anti-malware preferences (Vs. systemwide in the earlier folders), ancient Kerio MailServer (Competitor to Exchange) client-side preferences, and Valve Steam client preferences for the few games I keep on my system.

The Google contact sync agent replicates mac-side contact info to my Android phone; H-P printer preferences and personal preferences for Apple folder views finish the list. Staggeringly, no TeamViewer preferences appear here.

Testing For Speed

I then emptied the trash to truly exorcise the zombie code, then a reboot. Reboot times are still in the 3-minute range, but login is much faster.

If you check “Re-open apps when I restart” on the Mac, they appear as pictures—snapshots of what they looked like at reboot—before becoming live. The “picture to live” times, even with a dozen apps restarting, was noticeably faster (Sorry, forgot the stopwatch). Perhaps the zombie apps and daemons have been exorcised?

EtreCheck shows far fewer mysterious entries, too, as does Activity Monitor. I don’t know yet for certain, but the results are promising. Word loads faster, saves faster; Time Machine backups don’t slow the system down appreciably; no strange delays in Firefox loads.

But there’s still one major application that needed reorganizing: Apple Mail, as I’ll discuss more in the next article.

Next time: more adventures with Alex as he digs into Apple Mail.

One comment on “Cleaning Out the MacBook Attic

  1. Very interested in this report, as I sometimes experience mysterious slowdowns and obviously need to clean cruft out of my PC. I wish for a suitable tool to support this effort. Do you know of one? Possible tool functions (1) list running processes (2) explain what each process does in detail (3) temporarily disable one or more selected processes (4) restore selected disabled process [restoration also achieved by reboot]. (5) identify candidates for permanent removal. (6) permanently remove selected programs. [Hope this makes sense.]

Comments are closed.