Slashdot Mirror


Ubuntu May Be Killing Your Laptop's Hard Drive

wwrmn writes "There's a debate going on over at bugs.launchpad.net on whether it's the Ubuntu, BIOS, hard-drive manufacturer, or pick-any-player's fault, but Ubuntu (and perhaps any OS) may be dramatically shortening the life of your laptop's hard drive due to an aggressive power-saving feature / acpi bug / OS configuration. Regardless of where the fault lies or how it's fixed, you might want to take some actions now to try to prevent the damage."

11 of 419 comments (clear)

  1. Old news??? by BUL2294 · · Score: 5, Informative
    From the now very overloaded page...

    Bug #59695, first reported on 2006-09-09.
    Apparently there has been no rush to fix it. Now that /. has picked it up and the site is being bombarded, how long till it gets fixed???
    --
    Windows 3.1x calc: 3.11 - 3.10 = 0.00
  2. Selected Excerpts by asphaltjesus · · Score: 5, Informative

    From Google's cache:

    When switching to battery power, /etc/acpi/power.sh issues the command hdparm -B 1 to all block devices. This leads to extremely frequent load cycles. For example, my new thinkpad has already done well over 7000 load cycles -- in only 100 hours. That's at least one unloading per minute. Googling for "load unload cycles notebook OR laptop" shows that most laptop drives handle up to 600,000 such cycles. As these values clearly show, this issue is of high importance and should be fixed sooner rather than later.

    The command hdparm -b 255 turn off completely APM.

    Here is how I permanently fixed it:

    1) make a file named "99-hdd-spin-fix.sh". The important thing is starting with "99".
    2) make sure the file contains the following 2 lines (fix it if you have PATA HDD):
    #!/bin/sh
    hdparm -B 255 /dev/sda
    3) copy this file to 3 locations: /etc/acpi/suspend.d/ /etc/acpi/resume.d/ /etc/acpi/start.d/

    Voila! After that the HDD never spins down on power (looks like it actually spins down on battery at modest rate).
    Sorry if the instruction is too detailed, no offense.

    An alternative to the "99-hdd-spin-fix.sh" fix is to install and enable the package laptop-mode-tools,
    then customize /etc/laptop-mode/laptop-mode.conf, setting

    --
    Got Trader Joe's? friendwich.com RSS feeds work now!
  3. Re:The Ubuntu by TypoNAM · · Score: 5, Informative

    According to gentoo-wiki.com/MAN_hdparm -B is:
    Set Advanced Power Management feature, if the drive supports it. A low value means aggressive power management and a high value means better performance. A value of 255 will disable apm on the drive.

    I would say blame the hard drive vendor.

    --
    This space is not for rent.
  4. Re:Thanks for slashdotting launchpad, guys. by squiggleslash · · Score: 5, Informative

    Workaround #1. Edit /etc/hdparm.conf, add the following to the end (or modify the existing /dev/sda area, etc. This assumes your primary disk is your only disk and you're using SATA):

    /dev/sda {
    apm = 255
    spindown_time = 0
    }

    Then enter "sudo update-rc.d hdparm defaults" to ensure the changes take effect.

    Workaround #2, edit /etc/apm/event.d/20hdparm, find the line "APMD_SPINDOWN=18" and add a zero to it (APMD_SPINDOWN=180). Again enter "sudo update-rc.d hdparm defaults".

    The first of the options disables the whole spinning down thing. The second changes it so it spins down less (every 15 minutes rather than every minute and a half.)

    At least, that's what the Launchpad contributors claim.

    --
    You are not alone. This is not normal. None of this is normal.
  5. Read some of the Ubuntu forums by bluefrogcs · · Score: 5, Informative
  6. Re:The Ubuntu by timster · · Score: 5, Informative

    Actually, if you R(TRO)TFA, you'll find that Ubuntu is not issuing that command at all. Rather, this is a default set by the drive manufacturer.

    --
    I have seen the future, and it is inconvenient.
  7. Re:The Ubuntu by kebes · · Score: 5, Informative

    First off, putting a launchpad link on the frontpage of Slashdot is bad form. Launchpad is for discussing and resolving bugs, and we're not helping by swamping that page. It might be better if people read the wiki that has been set up to summarize the issue.

    In answer to your question about how this isn't Ubuntu's fault, apparently the problem is that the manufacturer sets certain default values for "aggressive power management" and enables this aggressive power management by default. Ubuntu's policy is to not change the manufacturer defaults, and simply uses them. Unfortunately these defaults are "too aggressive" and cause the hard drive to park/unpark too frequently.

    But Ubuntu is not blameless. First of all, if Ubuntu can push out a patch that resets the manufacturer defaults to sane values (and this will save some people from hard drive failures), then it definitely should. Also, there is some discussion that perhaps an Ubuntu daemon is probing the hard disk too frequently, so that the hard-drive can't sit in the parked state for long enough to actually make it a useful feature.

    Regardless of who is to blame, it would appear that the Ubuntu devs should push out a patch that forces systems to ignore the manufacturer values, and use settings that will protect the drive lifetime.

  8. Re:The Ubuntu by Anonymous Coward · · Score: 5, Informative

    I have an Dell Inspiron 6400 running Gentoo. I had this problem too. I fixed it by adding

            # -B 255 doesn't work for me
            sda_args="-B 254 -S 60"

    to /etc/conf.d/hdparm. This would fix the issue on boot, but after resuming, this would be moot. For that, I added

            # redo hdparm settings on resume /etc/init.d/hdparm restart

    after running /etc/acpi/suspend.sh in /etc/acpi/default.sh, though I suppose I could have put that line somwhere in suspend.sh.

    The key thing here is to run hdparm on boot *and* on resume

  9. From the horses mouth by orangesunglasses · · Score: 5, Informative

    http://mjg59.livejournal.com/77672.html
    Matthew garret, who runs the laptop testing team. Read this, instead of just spreading FUD.

  10. Re:The Ubuntu by morgan_greywolf · · Score: 5, Informative

    Exactly. See this article on thinkwiki about the problem. This is obviously HDD or HDD-controller specific, and is therefore a hardware vendor problem, not an Ubuntu problem. The article is FUD.

  11. Don't use -B 255, use -B 254 instead by fifirebel · · Score: 5, Informative
    Since this story hit the front-page I've been monitoring hard drives on three laptops that I can remotely access from work (hi boss).
    • Disk 1:
      • Seagate ST96023A (Seagate Momentus 7200.1 series)
      • Power_On_Hours 1438
      • Load_Cycle_Count 187925
      • 130 load/unload per hour (roughly 2 per minute)
    • Disk 2:
      • Hitachi HTS721010G9SA00
      • Power_On_Hours 818
      • Load_Cycle_Count 90539
      • 110 load/unload per hour (roughly 2 per minute)
    • Disk 3:
      • TOSHIBA MK6006GAH
      • Power_On_Hours 2896
      • Load_Cycle_Count 199757
      • 68 load/unload per hour (roughly 1 per minute)
    Then I've been monitoring the hard drive with this one-liner.

    lcc() { smartctl -a /dev/hda | grep 'Load_Cycle_Count' | awk '{print $10}'; }; n=$(lcc); while :; do nn=$(lcc); echo "$(date) $((nn-n))"; n=$nn; sleep 60; done
    Before you ask, it is only one line, as you only press enter once :-). And that's a short one-liner for me.

    This shows on all three laptops that the load counts increases by 1 to 4 every minute.

    Now I issued:

    hdparm -B 255 /dev/hda
    This has stopped load cycles on two drives.
    The third one (the TOSHIBA MK6006GAH) still continues loading and unloading like hdparm did not help at all.

    However, setting the power-management level to "lowest power savings mode" with:

    hdparm -B 254 /dev/hda
    did prevent any more load/unload cycles from happening.

    So in summary:

    1. Use hdparm -B 254 at boot.
    2. Re-issue it after every suspend/wake-up cycle as this setting seems to be lost on suspends.