Tuesday, June 30, 2009

"How Do I Stop the Clicking Noise from the Hard Drive of My MacBook or Mac Mini?"


Updated 1/20/2010

Energy-efficient hard drives that are optimized for Windows can cause incessant clicking as annoying as a water drip when used with Unix-based systems like Mac OS X or Linux on a computer that's idling. That's because this kind of drive will park its head after only seconds of inactivity -- and then the computer immediately calls it back into action. Even when this isn't loud enough to annoy the user, it causes excessive wear and premature aging of the drive.

On Macs, this is often found in replacement drives for the MacBook and the Mac Mini. Apple modifies the firmware of drives it supplies to avoid this problem, but no one does that for the speedier, larger replacements. Upgraders get more -- or less -- than they bargained for.

How can you tell for sure if your drive is affected? Download a shareware program like smartctl or Volitans Software's Smart Utility and look for the load cycle count. Hard drives are rated for only a few hundred thousand of those. If your drive has gone through thousands or hundreds of thousands in a short time, you're in trouble.

This kind of hard drive is still relatively new, and hopefully Apple will tackle the problem in Snow Leopard. But meanwhile, you can turn off the head parking yourself. On the Mac, the key is Bryce McKinlay's tiny shareware program hdapm. You can get it at

http://mckinlay.net.nz/hdapm/

The included instructions are geared toward Unix geeks, and they don't all work with the latest version of Leopard. But luckily, you don't need to follow them exactly. I'll tell you what to do instead. But first you'll need to download Peter Borg's shareware program Lingon 2.1.1 (the last version before development was halted). Ignore the big green "Download" button on the Lingon page -- it's for an older version -- and get the program instead from


Ready?

1. Move the file hdapm into /Applications/Utilities/ and authenticate.

2. With Lingon, create a new launchd configuration file with these settings:

-- "Where" is "Users Daemons."

-- "Name" is something like

com.yourusername.launchd.hdapm

Replace "yourusername" with your OS X account name. (That's the name next to the house in your Finder sidebar, and it's case sensitive.)

-- "What" is

/Applications/Utilities/hdapm disk0 max

(That's a zero following "disk", not the letter O. And don't leave out the initial slash!)

-- "When" is "Run it when it is loaded by the system (at startup or login)."

3. Save and authenticate. This places the file com.yourusername.launchd.hdapm.plist in /Library/LaunchDaemons, from where it will run the specified Terminal command with root privileges at startup or login.

4. Restart, then open Console. Search on "hdapm." You should see lines like this:

6/30/2009 9:15:41 PM com.AaronShep.launchd.hdapm[42] disk0: WDC WD3200BJKT-00F4T0
6/30/2009 9:15:41 PM com.AaronShep.launchd.hdapm[42] Setting APM level to 0xfe:
6/30/2009 9:15:41 PM com.AaronShep.launchd.hdapm[42] Success

That confirms it! Your clicks will be gone and your drive will wear normally. Enjoy your quiet computer!

Update -- This fix has had mixed results for my visitors. Though I can only report what has worked for me, the comments below might include suggestions better suited to your own Mac.

51 comments:

  1. Thank you.

    Installed a new harddrive and this clicking sound has been driving me nuts for months now.

    ReplyDelete
  2. Thank you!! I couldn't get hdamp to work in Snow Leopard, but your instructions worked. So far no clicks, which is just amazing!!!

    ReplyDelete
  3. I did everything you said - I opened Console and the lines were as you said, but this damn clicking continues even as I type this message...

    ReplyDelete
  4. I just can't get this to work. I'm at the end of it! Been try for 2 days to hdapm to work. I tried to follow the instructions above, the lingon app isn't as straight forward as the description above. Don't know what to do, clocking 100 load cycles an hour.

    ReplyDelete
  5. Same Problem and cant get the hdapm running! Konsole is telling me "APM not supported" (I am running MBP Spring 2007 17" with Samsung HM500JI 500GB) Tried a new hard disk same problem, i dont like to by a new notebook cycle counts now on 1254248!!!

    ReplyDelete
  6. Although my drive is not clicking, my loadcycle count is 556,619 so I decided to use hdapm. Lingon worked fine for me, and Console shows "success".

    I also disabled the Sudden Motion Sensor.

    Thanks for your help.

    Doug

    ReplyDelete
  7. When I just type "hdapm disk0 max" in terminal it stops the clicking on my new "WD3200BEKTW" hard drive, but fallowing the instructions above don't work for me for some reason??? Can I edit the hdapm file to get it to run on startup so I dont have to type the command in terminal? What am I doing wrong here???

    ReplyDelete
  8. Something I did worked, but I don't know exactly what it was that worked for me because I was trying everything listed on this website, some other websites and a few of my own ideas. But even on sleep and restart the clicking hasn't come back yet so I hope this continues?

    ReplyDelete
  9. It came back, I am so pissed at Western Digital for this bullshit! And Apple too! But why isnt there an easy software update or patch for this yet? Its dumbest thing I have ever had to deal with since buying my first Mac Computer in 1998!!!!!

    ReplyDelete
  10. I have to put this command in every time I restart the computer or when it sleeps "hdapm disk0 max" but why can't there be an easy script/unix program that does this for me?

    ReplyDelete
  11. As strange at is might sound I used the "hdapm" files and the exact directions on where to copy and paste them both, but it didnt work? So when I ran my own command line after doing this "hdapm disk0 max"in terminal it worked perfectly after. But then defaulted back after shut down or restart... I had an idea and edited a copy of the "hdapm" with only the cammand line "hdapm disk0 max" and then after saving this file placed it in "startupitems" and it seems to have worked? I wish I knew more about this but so far everything has been a guess? If any can give me some guidence about this so I know Why it worked or If its bad for any reason then please respond.

    ReplyDelete
  12. I'm soooooo pissed!!!! I can only get this to work by always typing in the unix command "hdapm disk0 max" in the unix command line after startup. I wish I knew more so I could just tell my Mac Mini "Snow Leopard" to run this unix command on every startup?
    THIS SUCKS!!!

    ReplyDelete
  13. It only resets the hard drive on startup, not sleep!
    I hope this is helpful..................

    ReplyDelete
  14. This comment has been removed by the author.

    ReplyDelete
  15. here is a link to an installer package for hdapm
    http://www.haque.net/software/hdapm.dmg
    read the readme in the dmg above and it tells you how to get it to run on startup

    i also think that it not working on SL might have somthing to do with root user being enabled or not.

    Just an idea

    ReplyDelete
  16. That works for me... thanks a lot for the help Dan!

    ReplyDelete
  17. does it work for you on resume from sleep? also was it the package or the root user idea that helped?

    ReplyDelete
  18. Hi,

    does it work after when computer was slipping.
    sorry for my english !

    ReplyDelete
  19. Worked for me. Thanks.

    MB 500GB 4RAM 2.2

    ReplyDelete
  20. Worked for me very fine:

    PowerBook G4 17" 1.67 GHz (with HiRes LCD, PowerBook5,9)
    Leo 10.5.8
    New WesternDigital WDC WD2500BEVE-00WZT0 (PATA)
    New MATSHITADVD-RAM UJ-85JS

    All working Ok, sleep Ok, wake-up Ok.

    After hdapm -> No any ckicking, clancking, etc.

    ReplyDelete
  21. I have the clicking problem plus when it starts everything stops for several seconds, system slows down dramatically. Do you recon Lingon would help? Have you come across similar problem. Apple Geniuses werent too helpful. They refused even to test my Imac because they didnt see envything unusual in Activity Monitor. Regards

    Piotr

    ReplyDelete
  22. Thank You, Thank You, Thank You!!!!
    WD and Apple were no help as my replacement drive cycled 106,000 times in 5 months. Search led me to you and you led to the solution. I RMA'ed the first replacement drive because of noise and lag from cycling wear-out. Installed your fix on the new drive and the cycling is no more. Yippee!!

    ReplyDelete
  23. i bought the WD scorpio blue 500GB to replace my MP internal drive. it worked perfectly at first, but started to slow down after 2/3 weeks also. im not sure if i have the same problem but i didnt hear any clicking noise. copying/pasting anything to/from the HDD was awfully slow. Cloning 130GB took about 10 hours (usually was only about 4 hours). but when transferring files directly from an external to another external, i didnt experience any slow down.

    i RMA'd the drive, got a new unit n still got the same problem. at last i decided to swap back my stock drive, n use the 500gb scorpioblue as an external. it worked fine!

    so what im asking is, is it possible for me to run this test on an external hdd? how so? thanks in advance :)

    ReplyDelete
  24. First, I want to say, thanks for posting this. I saw similar advice elsewhere, but never as clearly presented as here.

    Unfortunately, I've tried this, confirmed that hdamp is launching on startup and the settings are as programmed, but it hasn't helped. My load-cycle is at 9918 after 103 hours. I have a 15"Macbook Pro 3.1, and installed a Western Digital Scorpio Blue 640 GB. Both before and after the hdamp 'fix' I've been averaging around 100 load cycles per hour.

    My research indicates the problem exists in WDs, Seagates, Hitachis. Sometimes this works on the MBPs, sometimes it doesn't. I can't see any pattern. I guess I need to replace it with an approved Apple HD, as expensive as that will be.

    ReplyDelete
  25. A quick follow-up: I applied the firmware change suggested by Brian May on page 5 of this thread http://discussions.apple.com/thread.jspa?threadID=2250690&start=60&tstart=0 and after a couple of hours my Load Cycle count hasn't gone up by a single number (it was 11967 after 117 hours, and now I'm at 119 hours and no change).

    I'm hoping this is the end of the problem, and I can just enjoy my hard drive and all that glorious storage now.

    ReplyDelete
  26. I needed to change the ownership, group and permissions on /Library/LaunchDaemons/com.username.launchd.hdapm.plist to root,wheel, and 644.

    ReplyDelete
  27. Instead of all that complicated stuff, I just made a text file that says "/Applications/Utilities/hdapm disk0 max" (without the quotes) and set it to be executable. It appears to run correctly when I double-click it. Then in the User Accounts I added that program as a startup item. Is there any reason that wouldn't work?

    ReplyDelete
  28. I have a MBP 4.1 with an hitachi 200GB with 90000 cycles (for 2,5 years now). I still have 10.5.8 running but i planning to move to SL soon.

    I am also planning to change my HDd to an Hitachi 500 GB (5K500 or 7K500) as I have heard that these drives cause less problems than WD Seagate or Samsung.
    Does anyone have experience with these 2 drives? anyone have used hdapm with these drives? and do you know if they support hdapm?
    luisnobregaster@gmail.com

    ReplyDelete
  29. Hi. I have a 500gb WD Scorpio Blue. I was going to put inside a Mac Mini, but then read about the spindown clicking problems here and elsewhere. So now I am thinking about putting it in an external USB box. Does anyone here know whether the spindown problem also obtains for a Scorpio 500GB in an external USB connected to a Macbook or Mini? Yet another alternative is to use the drive for Time Machine while connected via USB as an Airdisk to an Airport Extreme wifi router. Has anyone tried that? thanks in advance JHH

    ReplyDelete
  30. @jhh

    I just installed a WD Scorpio Blue 750 gb HDD in my 2008 MBP and used Aaron's instructions along with these (see below) and it fixed the parking, spin up/down, high cycle count, and beach ball. It'd be worth a shot before you resort to the outdated and slow USB.

    http://discussions.apple.com/thread.jspa?threadID=2250690&start=165&tstart=0

    Thanks for the help, Aaron!

    ReplyDelete
  31. Worked like a charm on my Mid 2009 Macbook Pro 13.

    I was not having any issues until I decided to make a fresh start with a Snow Leopard 10.6.3 install. A day later a 'click like' sound started to occur on random intervals no matter the machine was idle or not. Just followed the instructions and now it is gone! Thanks a million Aaron =)

    ReplyDelete
  32. Worked for my wd 500gb scorpio blue on mac mini early 2009.

    Glad that my load cycle was 194, Thanks Aaron.

    ReplyDelete
  33. Using lingon didn't work for me.

    I created an applescript instead which is loaded every time I log in.

    Just put this in the script:

    do shell script "/Applications/Utilities/hdapm disk0 max"

    and save as an app.


    Haven't had a single load cycle for over a week!

    ReplyDelete
  34. When I was running Tiger there was the occasional clicking sound from the hard disk but running Photo Booth in the background stopped this. But when I upgraded to Leopard the clicking got a lot worse and Photo Booth was no help. I got the Snow Leopard upgrade in the hope it would stop it but it didn't.

    I've seen other instructions for HDAPM but they seemed awfully messy but using Lingon was quick and simple and for over two weeks now it has stopped that clicking sound that was driving me nuts.

    Thank you!

    ReplyDelete
  35. I just bought my new MBP 13". I can not believe apple (lower case a because I'm angry) has the same problem with my old dell ubuntu laptop! I lost one hard drive and all the data in it. This new apple MBP already has 9000 counts after 110 hours!!!! Thanks to Aaron 10^10^10 times, I can now use my MBP without worrying that nightmare happen again!

    ReplyDelete
  36. Damn...
    I get these lines in Console:
    11-01-15 19:15:34 CleanMyMacHelperTool[1545] Wont clean hdapm because disk image
    11-01-15 19:15:34 CleanMyMacHelperTool[1545] Wont clean hdapm because disk image
    11-01-15 19:18:44 com.Roland.launchd.hdapm[63] disk0: WDC WD1001FALS-40Y6A0
    11-01-15 19:18:44 com.Roland.launchd.hdapm[63] Setting APM level to 0xfe: FAILED: APM not supported
    11-01-15 19:18:44 com.apple.launchd[1] (com.Roland.launchd.hdapm[63]) Exited with exit code: 1

    Doesn't work for 27" iMac???

    ReplyDelete
  37. YIKES! This worked great for fixing the head parking problem while in OSX, but I have a windows 7 bootcamp partition and windows 7 is going nuts with parking the head!! Anyone have a fix for this!?

    ReplyDelete
  38. Works great, but I notice that SMS seems to be disabled, and now my MBP won't sleep automatically after the time period set lapses. Does anyone have a solution? Thanks.

    ReplyDelete
  39. Just to clarify... SMS is enabled on the system, but a sudden motion does not register a load count in SMART utility, as it used to before.

    ReplyDelete
  40. Taylor: I had the same issue on my Windows 7 bootcamp partition, but I think I have it addressed.

    1. Download and install both smartmontools for Windows and hdparm for Windows.

    http://sourceforge.net/apps/trac/smartmontools/wiki/Download#Windows-InstalltheWindowspackage

    http://hdparm-win32.dyndns.org/hdparm/

    The hdparm binaries are a few years old, but they do seem to work.

    2. Add a new startup item to your registry. Create a new REG_SZ key named "hdparm" in

    Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

    Give it a value of something like:

    "C:\Program Files (x86)\hdparm\bin\hdparm" -B 254 hda

    You may need to adjust this depending on where you installed hdparm.

    3. You can check that this is working with smartmontools:

    C:\Program Files (x86)\smartmontools\bin\smartctl.exe -a C:

    You ought to see your load cycle count toward the end of the output.

    ReplyDelete
  41. Taylor, et al:

    I've noticed that simply running hdparm at startup is not completely sufficient. The drive advanced power management setting seems to get reset from time to time, for example when the system resumes from sleep. The best way I can think of to deal with this is to use the Task Scheduler to run hdparm at various times--startup, log on, unlock, resume, etc. Here is an example scheduled task setup which seems to be working well for me so far.

    http://i.imgur.com/nkZKX.png

    To respond to the system resuming from sleep, you will want to the system event ID 1 from the Power-Troubleshooter source. This is captured in the above screenshot.

    I hope this helps.

    ReplyDelete
  42. This worked perfectly for me.

    I have an early 2008 15" MacBook Pro with a Hitachi 750GB hard drive.

    ReplyDelete
  43. Aaron,

    thanks for this great post. I have a Western Digital 750 GB Scorpio Blue running on Mac OS 10.6.7 and came across your blog post completely by chance. Serendipitously it would seem, as I had no idea this problem existed. Low and behold after running Smart Utility I discovered my load cycle was 165,000! Thanks for blogging this, and more importantly providing a fix that is easy to understand and follow. I ran your instructions and have the successful "Setting APM level to 0xfe" and "Success" messages in my console upon startup. Thank you very much for this, it looks as though it fixed my problem.

    ReplyDelete
  44. hdapm now includes an installer that does all these steps for you. It's really easy.. Lingon is no longer required.

    http://mckinlay.net.nz/hdapm/

    ReplyDelete
  45. Unfortunately, what hdapm still does not include is an UNinstaller. I pointed this out to the developer, who thought it would be a good idea to add one. But until he does, I still recommend the procedure with Lingon.

    ReplyDelete
  46. Since this hack works for the main drive (where OS is installed), how would I make it work for my HDD in Optibay?

    I use SSD as my main drive so I wouldn't need hdapm on there.

    ReplyDelete
  47. Ok, I contacted the developer and he told me to "edit /Library/LaunchDaemons/hdapm.plist and change the "disk0" parameter to "disk1"...and it works now!

    ReplyDelete
  48. Thank you! Chinese water torture it was. I just bought a used 2007 Mac Mini that had been upgraded to 2GB RAM and 120GB HDD from eBay, Not Apple specs so it was upgraded. One of the main reasons I bought a mini was because I wanted a quiet computer. It was so quiet then I started noticing the clicks. I left it on all night last night but the clicks were back with a vengeance. I closed all programs, checked the Activity monitor, disconnected the CAT5 cable, the monitor, the mouse the keyboard to no avail. I researched the web on fan noise etc then found this site. I downloaded the latest installer package at:http://mckinlay.net.nz/hdapm/ and now no clicks. It is awesome! Thank you again!

    ReplyDelete
  49. I have tried various things when installing this, from these instructions with Lingon onward, downloading both script and package files from the site, etc etc... It seems that right now, nothing is working. Console is giving me "FAILED" instead of "SUCCESS" right now, which is unfortunately the closest I have gotten to making this work, which is downloading the package, installing it, and restarting. If I type hdapm disk0 max into Terminal, it gives me a similar message including "FAILED". Disk1 is not applicable since I only have one hard drive. Why would it fail, especially from the package installation? I can't really trust myself to follow the instructions with the other stuff properly; I'm no Mac genius. Perhaps this is no longer possible in Lion? My computer is only two months old, and my load cycle count is 71748 already... The sounds are horrible; just last night I surfed the net for about 15 minutes just casually, in a quiet room with my fan turned off, and Audacity recording. I got about a click/tink/annoying noise PER MINUTE, and a couple of times there were two of them within seconds of each other! I think I am going to go to the Apple Store and try to get them to replace the drive seeing as I am not only under original warranty, but under APPLE CARE warranty as well... I'll see if they are willing to replace it with a DIFFERENT drive. (When I found out that they used Seagate drives in these, I just about cried, because my other hard-drive (Time Machine) is a Seagate, and I've had to wipe and reformat it already after using it VERY infrequently for a year.)

    ReplyDelete
  50. After having similar clicking noise issue.
    Tried lingon as mentioned and followed the steps and voilaaa.....worked for me, the clicking noise is gone.
    Awesome work Aaron..! !

    ReplyDelete