How often should SMART tests be run on a hard drive?

I agree with @user1433123 answer about the bad advice from other answers suggesting you ignore or delay running any SMART test until you have a disk problem. The purpose of the SMART attributes and self-tests is to anticipate disk problems when possible.

The minimum you should do is to enable the Automatic Offline data collection and check the SMART attribute values once a month or so, even if you don't run manually the SMART self-tests. (Note that some SMART attributes are not updated unless the offline data collection is enabled).

That being said, running the short/long self-tests (manually) too frequently in a desktop computer may be a waste of time. In a server the best approach is to use something like "smartd" (from the smartmontools software, Linux and Windows) to monitor and execute the tests on a regular basis, so that you will be notified when a possible problem arises.

Now, regarding your question about how often to run them: For a server I suggest to enable the offline data collection always and run (automatically, using smartd or similar software) the short self-test daily or at least weekly, then the long self-test monthly. Note that the self-tests should not cause any performance problem.

For a desktop, if you have to do it manually, I would run the short self-test monthly and just enable the offline data collection, maybe run the long self-test every couple of months or so. If you can use automated tools like smartd, then you can do it more frequently.

For portable disks (like USB removable disks) I suggest to run it whenever possible, as hard disk in movement are somewhat more prone to problems and the SMART values may give you early warning. For example, we use some removable hard disk for offsite backups and the backup script we use dump the SMART report of the program smartclt to a local log and run a SMART short test every time we make a backup (weekly); while the short test is running (it takes 3 to 5 minutes) the backup people read the SMART report looking for any anomaly.

So in summary, I would say that:

  • Always enable the SMART offline data collection.
  • The more critical the data, the more frequent you should run the SMART self-tests.
  • Always try to use automated software that run the tests for you.

Check the man page of smartctl (from the smartmontools) for some information about each kind of test (http://smartmontools.sourceforge.net/man/smartctl.8.html), even if you use a GUI program like GSmartControl to run the tests.

Regards, MV.


"You really shouldn't need to check the HDD until it is near the end of it's warranty period. In which case I recommend you throw away the drive. Rather then to chance the fact that it is near sudden unpredictable death."

This is bad advice. If you are worried about your drive failing, then you should run smart tests on it so you can identify the failing drive quickly and take action if needed.

Smart is designed to warn you of a drive failure before it happens, whereas good hardware like a RAID controller will let you know once it has failed.

Warranty length is not an indication of drive health.

My advice to you would be

  1. Backup
  2. Run a daily SMART short test on critical drives like in home server's RAID array or NAS devices if they support it.
  3. If the drive(s) is especially critical run a weekly long test in off hours to identify a failing drive as soon as possible before the data is unreadable.

After you identify an issue, RMA the drive if it is under warranty, or purchase a replacement if it is not.

If uptime is required then invest in a simple RAID solution like RAID 1/5/6 if the data needs to be available 24/7.

I don't know of a single person who is proactively replacing their laptop hard drives every 1-3 years depending on the warranty.