The myth of the dirty Mac
Published January 24th, 2012 at 3:24 PM EST , modified July 15th, 2012 at 8:14 AM EDT
An oft-asked question by many Mac users is “How do I clean my Mac’s system?” The advice they frequently receive involves things like deleting log files, clearing caches, removing cookies and all manner of other things. There are dozens of utilities that help users do these tasks. So, which one is best? The answer may surprise you: none of them! But why?
First, let’s consider some of the common reasons people want to clean their Macs. One reason is to gain disk space. When someone’s hard drive gets close to full, and the system starts warning them that they need to clear some space, they often look for a tool to do the job for them. However, this is entirely the wrong approach. Yes, you may gain some space with some judicious system cleaning. But you probably won’t gain as much space as really needs to be freed, and that space will just start filling up again as normal system processes recreate those files you deleted. In a month, the hard drive will be too full again. The only way to solve this problem reliably is by moving user data to another volume, such as a second hard drive.
Another reason is to solve performance problems. Cleaning your Mac is unlikely to solve performance problems, though, and may actually cause performance to suffer temporarily. If you’re having such problems, there are many other things you should try, such as reviewing the third-party software you have installed, ensuring you have enough free hard drive space (10% is a common rule of thumb), making sure you have enough RAM for the tasks you’re doing, etc. (A full list of troubleshooting techniques is beyond the scope of this article… try the Mac Performance Guide for a more comprehensive list.)
People also want to clean their Macs simply because they have become accustomed to doing that with their Windows machines. It is important to understand, though, that Mac OS X is not Windows, and should not be managed in the same way. A Mac does not need the same maintenance… it does a pretty good job of maintaining itself, thanks in part to its Unix heritage. Unix systems are designed to run for long periods of time without needing to be messed with.
Now let’s consider some common things that people clean. First and foremost are caches. All cleaning utilities include cache cleaning in their arsenal. They typically will delete the contents of your web browser caches and/or system caches. However, what many people don’t know is that caches exist to keep things running fast. Browser caches store data from web pages you have visited so that it has less to download the next time you visit, thus the page loads faster. System caches store data needed by applications and the system, so that access to those things happens faster. So, if they make your computer faster, why do people think deleting them is helpful? Partly, because of real problems: caches can become corrupt, causing all kinds of strange problems, in which case deleting them is a quick and easy fix. However, this shouldn’t happen frequently. It has never happened to me, to my knowledge, in all my years of using Mac OS X. If caches become corrupt, a utility can help you cure the problem, but note that if it happens repeatedly, deleting the caches simply masks the symptoms without addressing the underlying problem that is causing that corruption.
Another item frequently targeted for deletion is log files. Deleting log files does not affect performance in the slightest, and can hinder your ability to diagnose problems. Log files can be of great use in determining why your computer is misbehaving. Even if you can’t read the log files, you can often post information in forums or have it looked at by a tech. And, as the OS will eventually delete the oldest log files anyway, cleaning the logs is totally unnecessary. Sometimes, though, a log file will grow out of control and begin using a large portion of your hard drive space. However, deleting the log file in that case is the wrong move. You need to examine the log file and find out what is causing it to grow, then fix that problem. Otherwise, you’ll just run out of disk space again shortly when the log file balloons again.
Some utilities will also help you run the Unix daily, weekly and monthly scripts. Some people swear by these scripts, claiming that they have great importance, and also claiming that they will never run if your machine is turned off in the wee hours of the morning. None of that is true. With regard to their importance, I’ve seen no description of what they do that was more clear and concise than Jeffrey Jones’ description on the Apple Support Communities forums. As to when they run, the official word is that, on the last few major versions of Mac OS X, if your machine is asleep when those scripts are scheduled to run, they will run as soon as the machine wakes up. Unofficially, I have talked to people who have had their machines off overnight and still could demonstrate that those scripts had run first thing in the morning. I haven’t tested that myself, as I never turn my machine off and I see no reason to put much importance on testing it, but I also have no reason to doubt these anecdotal reports. Bottom line: there’s no reason to use a utility to run scripts that aren’t important and that will run on their own anyway!
One last thing that some cleaning utilities offer is defragmentation. There are very few cases where defragmentation will benefit you at all, however, and the risks of defragmentation are high. If you defragment without backups, and something goes wrong in the process, you can lose a lot of data… permanently. That’s a high price to pay for something that is not needed. Mac OS X automatically prevents fragmentation at a very low level. It has very sophisticated routines for writing files that avoid causing fragmentation if at all possible. The only case where you may encounter fragmentation that the OS is not able to handle and that will affect performance is if you are dealing with very large and frequently-changing files, such as videos that you are editing. If you are in that category, you may wish to consider defragmentation, but only very rarely, when it demonstrably begins to affect performance, and only with adequate backups in place.
At the end of the day, your Mac really needs no cleaning… unless you’ve gotten some fingerprints on the screen! 🙂 Don’t fall for any of the software people will try to sell you to “fix” things that aren’t broken. Aren’t you glad you bought a Mac now?
Tags: cache cleaning, cookies, defragmentation, log files, Mac OS X, performance
This post is more than 90 days old and has been locked. No further comments are allowed.
“Unofficially, I have talked to people who have had their machines off overnight and still could demonstrate that those scripts had run first thing in the morning. I haven’t tested that myself, as I never turn my machine off and I see no reason to put much importance on testing it, but I also have no reason to doubt these anecdotal reports.”
I don’t see how that is possible. I have tested that theory extensively in the past, up through Leopard, and if you look at the LaunchDaemons that control them:
none of them contain the key “RunAtLoad” required to have it run at boot time, which com.apple.xprotectupdater.plist, for instance, does have. They will only run on the schedule specified or upon wake from sleep.
I’ve participated in discussions with the Apple Developer folks when it was reported as a bug and was assured that it was not and would not be changed. IIRC it has to do with the server versions of Mac OS and not wanting to kick off a slew of activity when a server must be rebooted.
I used to use Anacron to overcome this (admittedly a waste of time) and when the developer stopped suporting it, saying that the Apple Method was adequate, I ask him to reconsider, but he declined. I still have his e-mail somewhere.
The only solution I am aware of that is designed to overcome this is a small application called PseudoAnacron , but my bottom line is the same as yours, it’s not really necessary.
Yeah, I can’t explain it, but I’ve definitely talked to a couple fairly savvy folks who checked the last run time of those scripts, and they had been run even though the machine was off overnight, every night. (They checked the run time using “ls -al /var/log/*.out”) Of course, since I haven’t tested it myself, I can’t say anything for sure.