Maintaining Mac OS X

Much dubious advice is available concerning "routine maintenance" of Mac® OS X.

This FAQ, based on the "Maintaining Mac OS X" chapter of our book, Troubleshooting Mac OS X, is intended to provide guidance on recommended maintenance and to dispel some common maintenance myths.

Recommended maintenance

The only routine maintenance steps we recommend are the following:

Weekly: 1. Back up everything. Having a comprehensive Backup and Recovery solution and using it regularly is the most important action you can take to protect your valuable data. 2. Manually run the UNIX® maintenance scripts. Monthly: 1. Check for updates to third-party software you have installed. Some third-party applications offer a preference to automatically check for updates. If this feature is unavailable and the vendor offers e-mail notification of updates, sign up for such. 2. If you have disabled automatic protection in your anti-virus software: 2.1. Check for updates to the virus definition files on the vendors Web site. 2.2. Run a virus scan to check for any potential malware or spyware. As needed: Occasionally  monthly, bimonthly, or quarterly as you see fit  check your hard disks by performing Steps 1 and 2 of the Procedure in our "Resolving Disk, Permission, and Cache Corruption" FAQ.

Maintenance myths

Most of the activities portrayed as maintenance by tools like Cocktail, Onyx, Yasu, and others are, in fact, troubleshooting steps.

Accordingly, cache cleaning, repairing permissions, prebinding, and other tasks not listed in the "Recommended Maintenance" section above are not regular maintenance tasks.

In some cases, such as System cache cleaning, they can have unintended consequences. For this reason, we advise against enabling any automated maintenance features of third-party utilities other than a feature for running the standard UNIX maintenance scripts automatically.

We will now dispel some common maintenance myths.

Cache cleaning

System and User cache cleaning are troubleshooting steps, not part of regular maintenance.

Caches are used to improve the performance of both the operating system and applications. Removing System and User cache files for other than troubleshooting purposes defeats the purpose of cache files, which will be rebuilt automatically at your next restart or login, adding time to those processes.

Potential side effects of System-level cache cleaning are discussed in our "Side effects of System cache cleaning" FAQ.

Accordingly, cache cleaning can be an important troubleshooting step, such as when used in our "Resolving Disk, Permission, and Cache Corruption" FAQ, but it is not regular maintenance.

Defragmenting hard drives

If your hard drive is nearly full or if you engage in video editing, you may see some performance benefit from defragmenting. Otherwise, there is little benefit from defragmenting as discussed in the AppleCare® Knowledge Base document "About Disk Optimization in Mac OS X."

Before using a third-party defragmentation utility, assure that it is compatible with the version of Mac OS X you are using and with your type of Mac, i.e. Intel®- or PowerPC-based.

Repair Permissions

There is considerable debate about performing Repair Permissions as part of regular maintenance. Our advice is that it is a good, prophylactic step after installing third-party software that employs its own installer. This is primarily due to the fact that some poorly-written third-party installers have been known to change permissions on system-related folders, then failed to set them back, causing problems after the installation.

Repairing permissions has gained the undeserved status of a magic incantation that can fix anything; some recommend it as part of regular maintenance. While it can be a useful troubleshooting step, we do not regard it as part of regular maintenance: it will not hurt anything, but running it unnecessarily wastes time.

For additional information on Repair Permissions, see the section "The Repair Disk Permissions function" of our "The Repair functions of Disk Utility: what's it all about?" FAQ.

Update prebinding

In general terms, prebinding is a process that enables applications to launch quickly and incorporate newly-installed fixes and changes, primarily at the system level.

Under Mac OS 10.4 Tiger® and later, changes in the operating system have eliminated the need to update prebinding, even for most troubleshooting purposes. For details, see:

The "Frameworks and Prebinding" section of the "Frameworks and Binding" chapter of the Apple Developer Connection document Framework Programming Guide .

. The "Prebinding Your Application" chapter of the Apple Developer Connection document Launch Time Performance Guidelines.

For earlier versions of Mac OS X, a cogent description of prebinding  sometimes referred to as optimizing  is Bill Bumgarner's article "Prebinding Explained." While this may not be light reading for some, it provides a thorough explanation.

When the Mac OS X Installer displays Optimizing... at the end of a Software Update, it is updating the prebinding of the system. In this way, the Installer's Optimizing... phase and prebinding are synonymous. This phase is considerably shorter under Mac OS X 10.4 and later as other improvements related to prebinding have enabled this phase to be limited to the prebinding of select, system-related frameworks.

Mac OS X has long had the ability to automatically address prebinding issues. If an application could not be launched prebound, it would require more time to load than a similarly-complex prebound application. Mac OS X would also attempt to correct the prebinding for applications that were not prebound. With the improvements introduced in Tiger, whether or not an application is prebound is generally an insignificant factor with respect to its launch time.

Therefore, updating the prebinding of your Mac OS X installation is not maintenance. At best, it is a rarely-used troubleshooting step employed to resolve widespread problems with slow application launch times in Mac OS X 10.3 Panther® and earlier, primarily in Mac OS X 10.3.4 and earlier.

Related links