You may have heard that in order to keep your Mac running in tip top shape, you need to perform regular maintenance routines on it to clear out caches and other temporary items. These can be useful at times, especially if your system is showing problems with specific applications or services; however, clearing caches, log files, and other so-called “maintenance” routines regularly will often have no effect on the system and may sometimes be entirely unnecessary steps to take.
For the most part, caches on your Mac are used to enhance performance, and regularly stripping them out will at least temporarily degrade performance. In the face of problems that do not resolve themselves, clearing caches may help; however, to do so on a regular schedule will offer no real benefit. If your Mac is regularly slowing down and requiring such maintenance regularly, then you might be better off looking into the specific application or configuration that might be contributing to the problem, instead of simply always resorting to deleting caches and running maintenance scripts.
That being said, there are two maintenance routines that should be run regularly on your Mac, or any computer for that matter. These are Apple’s hardware tests, and a filesystem checking and repairing routine.
The hardware components of your Mac should be fairly robust; however, sometimes faults may develop over time, especially if you have subjected your Mac to harsh conditions or opened and tampered with it. In these instances, while your Mac may continue to function, there may be faults that could lead to hardware or software instability.
To help ensure system components are functioning normally, Apple and component manufacturers embed a number of voltage, current, and temperature sensors for many parts of the system, which can be tested using Apple’s hardware test suite. This suite can be easily launched by restarting your Mac with the D key held down when you hear the boot chimes (or hold the Option-D keys to load the tests from the internet), and then following any on-screen instructions to run the test.
These tests will ensure components and sensors are all working, so if they complete without any errors then you should be good to go (you can look up how to run and interpret these tests here). Otherwise, you should look into having your system checked and possibly repaired at an Apple store or an Apple authorized repair center.
I recommend you run a hardware test on your system every few months.
Hard drive checks
The second component that requires regular checks is your hard drive’s formatting. While the HFS+ (Mac OS Extended) filesystem is fairly robust, even with simple regular use it can incur formatting errors that may result in a slow system. At other times, a hard crash, loss in power, forced-eject of a drive, or manual restart of your system at an improper time may result in damage an attached drive’s formatting.
In addition to the formatting, other aspects of the drive may also get damaged over time. For mechanical drives, bad blocks may begin to appear, or the drive’s controllers and firmware may otherwise stop working properly, resulting in slow performance, crashes, and other issues.
To check for these, at the very least I recommend you run a filesystem formatting verification every month or so using Disk Utility, and then repairing any errors you find when using this routine. In addition, for mechanical drives you can use a third-party drive utility that supports surface integrity scans, to check for bad blocks. Keep in mind that locating and repairing bad blocks can take hours to complete, but this should be a consideration.
While I have outlined these maintenance routines as “required,” I do not intend that others are not useful. Routines for deleting caches and log files, and fixing permissions on your Mac have their places for addressing some problems, but as part of a regular routine to run in the face of no apparent faults or slow-downs, they will likely be unnecessary. On the other hand, ensuring hard drive and hardware health will only give you a regular green light on the state of your Mac.
Built-in hardware test does not appear to be available on my mid-2010 MacBook Pro (6,2)
Does not seem to work on my 24 inch iMac running Mavericks 10.9.4
@ Topher: You may be right about the necessity of cleaning caches and such; nevertheless, Apple has built in a number of routines that run on a schedule, some daily, others weekly and yet more on a monthly basis. These are called cron scripts because they run on a set schedule – if your computer is running at 2:00 AM. I don’t know which routines do what, but they are important enough that Apple has baked them into OS X from the beginning.
Of course, most people are not using their computers regularly at 2:00 AM so the cron scripts may never be invoked. For this reason, many third-party utilities, including Cocktail, Maintenance, Onyx, Mavericks Cache Cleaner and TinkerTool System, can run these scripts for you, at your discretion.
Another way to look at system upkeep is as preventive maintenance. From this perspective you don’t have to wait until trouble is manifest; you can often prevent trouble from occurring in the first place by doing routine maintenance on a regular basis, just as you do with an automobile. You don’t wait till the oil in your car is so dirty that it causes the engine to overheat; you replace the oil regularly, generally based on miles driven. There’s no comparable rule of thumb for computer maintenance – there are simply to many variables. Nevertheless, the cron scripts will run regularly in the right circumstances.
In my experience, though, most people are intimidated by the idea of doing maintenance on their own computers. So such maintenance only gets done when the computer starts behaving badly and they call on a knowledgeable tech, amateur or professional, to fix their broken system.
“Of course, most people are not using their computers regularly at 2:00 AM so the cron scripts may never be invoked.”
Apple addressed this starting with 10.6: http://support.apple.com/kb/HT2319
I’m disappointed that you don’t mention SMART hard disk diagnostics in this article. This information can provide an early heads-up of a pending drive failure. While Apple provides a means of checking SMART in their Disk Utility, I have found that their check only indicates a problem when a system is already plainly running horribly (typically indicated by long hangs / freezes). However, there are two background utilities I recommend, which give you an early alert to SMART errors. First, there is SMARTReporter from CoreCode, which checks basic SMART status, plus checks for I/O disk errors. Second, there is SMART Utility from Volitans, which performs a more comprehensive overview of SMART data. This one gives an even earlier warning of potential drive failure and I have found it useful in sussing out drive problems. While utilities like Tech Tool Pro and Drive Genius also offer background drive checking, I have found that they can sometimes be disruptive to system stability. SMARTReporter and SMART Utility cause no disruption whatsoever and I highly recommend them. -Chris Hart, Independing Mac Consultant
I don’t know how Independent became Independing, but I blame iOS autocorrect!
Do not forget DiskWarrior
SMART reporting can be deceiving. A year of so ago I had an internal drive in my Mac Pro that passed the SMART test in TechTool Pro with no serious problems reported. Shortly thereafter the drive completely failed, with no clear warning. Fortunately I had a backup of the data on the dead drive on an external HDD; I just ordered a replacement for the bad drive, swapped out the drive in the Mac Pro, and restored the data to the new drive from the backup.
I tried SMART Utility, but it generated more data than I knew what to do with – and it recommended replacing a drive with only four bad blocks, which is far too drastic. Some big drives these days come with more than four bad blocks right out of the box. If this sounds bad, remember that a drive can have millions of blocks.
To know if bad blocks are a problem on a specific drive, you need to know how many bad blocks there were at given points in time in order to judge how fast the problem is growing, if it is, indeed, growing. A noticeable increase in bad blocks is certainly a sign of impending drive failure. But a few blocks over a period of six months or a year is hardly significant. Be that as it may, the real challenge is auditing a drive on a more or less regular basis to keep track of this information. I don’t know anyone who does that. Depending on how much your time is worth, it can be much easier to just back up your system and your data regularly.
Where bad blocks are a problem is when the corrupt your data. Sometimes the data can be recovered, depending on how badly it is damaged. If it seems I’ve digressed here, it’s because finding bad blocks is one of the most difficult procedures on a computer. You need to scan an entire drive to do so, and a drive’s SMART reporter function may not do that reliably.
The only real insurance against a failed drive is regular backups. And the backups themselves need to be monitored for reliability as well.
After bringing up the Hardware test, my program hangs/stalls on the “probe” and after 15 minutes, I have to do a hard restart. I’d appreciate any suggestions.