Linux und Ich

Blog über Ubuntu, Linux, Android und IT

Die Notebook-Platte vor dem Abschalt-Tod retten

Die Notebook-Platte vor dem Abschalt-Tod retten

| 16 Kommentare

Noch ein schneller Beitrag zu einem Thema, das ich schon vieeeeel zu lange ignoriert habe. Es geht um den – so bezeichnet das Wiki von Ubuntuusers.de die Problematik – Notebook-Festplatten-Bug. Um den Akku zu schonen schalteten viele Linux-System im Akku-Betrieb den Motor der Festplatte ab, an sich eine gute Sache, schluckt doch der laufende Antrieb ordentlich Saft. Allerdings ist das System von Haus aus so konfiguriert, dass dies ebenfalls im Netzbetrieb geschieht. Dies hat zum Beispiel auf meinem Dell Vostro V130 zu Folge, dass die Festplatte permanent für einen kurzen Augenblich ab und wieder angeschaltet wird, was letztendlich die Lebensdauer der Festplatte reduziert. Jeder Notebook-Besitzer, der in naher Zukunft nicht auf eine SSD umsteigen möchte, sollte daher prüfen ob er nicht auch von der Problematik betroffen ist und das Verhalten des Schlafmodus der Platte ändern.

Bei meinem Laptop braucht man gar nicht erst groß zu testen, man hört das Problem alle paar Minuten. Die Festplatte dreht runter und startet nach einem kurzen Päuschen sofort wieder durch. Man kann dies auch mit den Smartmontools gut nachvollziehen, installiert euch das entsprechende Paket und checkt dann im Abstand von ein paar Minuten mit $ smartctl den “Load_Cycle_Count” eurer Platte, steigt dieser Zähler permanent an, dann solltet Ihr eingreifen (Anmerkung: Ich beziehe hier alle Befehle auf die erste Platte im System /dev/sda).

$ sudo apt-get install smartmontools
$ sudo smartctl -A /dev/sda | grep Load_Cycle_Count
I93 Load_Cycle_Count    [...]   15225

Der Grund für das Abschalten der Platte liegt im Powermanagement des Systems. Über APM wird die Platte zum Stromsparen in den Ruhezustand geschickt, über $ hdparm könnt Ihr die entsprechende Konfiguration im Akku- und Netzbetrieb auslesen. Schmeißt dazu wieder das Terminal an und führt die folgenden Befehle aus, in meinem Fall unterscheidet sich der Wert nicht, egal ob das Notebook am Netz hängt oder über den Akku mit Strom versorgt wird.

#### Im Akkubetrieb....
$ sudo hdparm -I /dev/sda |  grep level
Advanced power management level: 127

#### Im Netzbetrieb....
$ sudo hdparm -I /dev/sda |  grep level
Advanced power management level: 127

Im Netzbetrieb sollte das Abschalten der Platte eigentlich so lange wie möglich hinausgezögert werden, ein Wert von 254 wäre daher ideal, allerdings unterscheidet auf meinen System das Powermanagement der Platte nicht zwischen Akku- und Netzbetrieb. Um das permanent zu ändern öffnet Ihr die Konfigurationsdatei /etc/hdparm.conf in einem Texteditor und tragt dort an das Ende der Datei die entsprechenden Einstellungen ein, keine Angst, das ist nicht sonderlich schwer.

$ gksudo gedit /etc/hdparm.conf

Scrollt jetzt bis ans Ende der Editor und übernehmt die folgenden Zeilen, sie regeln für die /dev/sda das Stromsparverhalten. Solltet Ihr einen Desktop-Ersatz-von-einem-Notebook mit mehreren Platten verfügen, dann müsst Ihr den Eintrag für die weiteren Platten wiederholen. Hattet Ihr vorhin Im Akkubetrieb einen anderen Wert als 127, so ändert dies bitte für die Zeile “apm_battery” entsprechend ab, ich persönlich würde nicht von den Systemvorgaben abweichen.

Der nötige Eintrag in der hdparm.conf am Ende der Datei.

Speichert nun abchließend eure Änderungen ab und beendet den Editor. Weiter gibt es eigentlich nichts mehr zu tun, das “Schlimmste” habt Ihr somit hinter euch. Bleibt nur zu Hoffen, dass die sich das Stromsparverhalten der Platten tatsächlich auch ändert, dies gilt es noch einmal kurz zu überprüfen.

/dev/sda {
        apm = 254            # Netzbetrieb
	apm_battery = 127    # Batteriebetrieb
	spindown_time = 0    # kein Anhalten des Spindelmotors
}

Die Änderungen werden sofort aktiv, wenn sich der Modus ändert. Zieht also einfach mal den Netzstecker und überprüft mit $ hdparm erneut nach, ob jetzt immer noch die selben Werte für den “Advanced power management level” ausgegeben werden. In meinem Fall sollten jetzt im Akku-Betrieb 127 und im Netz-Betrieb 254 ausgegeben werden.

#### Im Akkubetrieb....
$ sudo hdparm -I /dev/sda |  grep level
Advanced power management level: 127

#### Im Netzbetrieb....
$ sudo hdparm -I /dev/sda |  grep level
Advanced power management level: 254

Im meinem Fall beruhigt die Änderung nicht nur das schlechte Gewissen die Platte vorzeitig zu schrotten, sondern auch die Ohren. Das permanente hoch- und runterdrehen der Platte, ist gerade an einem ruhigen Arbeitsplatz mit der Zeit doch etwas nervend. Durch den Eintrag in die hdparm.conf ist eure Änderung permanent, auch ein Neustart des Systems ändert nichts mehr. Sollte euch diese Anpassung nicht mehr gefallen, dann löscht einfach die von euch eingetragenen Zeilen und schon ist wieder alles beim alten.

(Bildquelle: Flickr, CC-BY, Norlando Pobre)

Autor: Christoph

Hallo, ich bin Christoph -- Linux-User, Blogger und pragmatischer Fan freier Software. Wie Ihr ohne Zweifel bemerkt haben solltet schreibe ich hier über Linux im Allgemeinen, Ubuntu im Speziellen, sowie Android und andere Internet-Themen. Wenn du Freude an meinen Artikel gefunden haben solltest, dann kannst du mir über Facebook, Google+ oder Twitter oder natürlich dem Blog folgen.

16 Kommentare

  1. Was noch zu erwähnen ist, ist das der Stromverbrauch evtl. höher ist wenn die Platte permanent hoch und runter fährt als der, das sie eine Konstante Geschwindigkeit beibehält.

    P = Anlaufleistung > Beibehaltungsleistung

    (Gilt nur für bestimmte Zeitintervalle)

  2. Hmmm…bei mir war das bereits so. Hab da selbst allerdings nie was eingestellt :) Vielleicht Glück gehabt?

  3. Scheinbar ist mein Notebook zu alt für so einen neumodischen Kram. Da steht nämlich APM: Disabled
    Naja, Ubuntu 12.04 kann ich ja mangels PAE auch nicht installeren, dafür rennt 10.04 ziemlich gut.

  4. Hatte das Problem unter 12.04 auch. Bin mittlerweile auf SSD umgestiegen. Eine einfache und praktische Lösung war damals für mich TLP. Einfach installieren und die sinnvolle hdparm Einstellung ist bereits konfiguriert. Darüber hinaus gibt es viele weitere Funktionen zum Stromsparen: http://thinkwiki.de/TLP_-_Linux_Stromsparen

    • Hehe, wollt ich auch grad vorschlagen. Das Skript funktionier bei meinem ThinkPad mit Debian hervorragend. Was ich vor allem interessant finde, ist die Möglichkeit die Ladeschwellen fuer den Akku einzustellen.

  5. Wenn ich das richtig sehe, ist gerade ein Update für hdparm unter 12.04 gekommen, dass den Wert auf 128 hochdreht. Dann dürfte sich das erledigt haben :)

  6. Hallo,

    Wie weit ist dieser Tipp eigentlich Debian kompatibel? Ich nutze LMDE, doch wenn ich den Eintrag ergänze wird er nicht umgesetzt.

    Eine temporäre Änderung mit

    sudo hdparm -B 254 /dev/sdX

    klappt aber.

    Bei mir ist die Einstellung bei 128 im Netzbetrieb.

    • Schau Dir mal das hier an:
      http://thinkwiki.de/TLP_-_Linux_Stromsparen

      Dieses Skript funktioniert sehr gut bei meinem Rechner: ThinkPad + Debian.
      Und das ewige Klappern der HD ist geschichte. :)

      • danke, mit TLP funkt. es

      • Danke. Der Tipp mit TLP war gut! Das macht genau, was es soll, ohne dass ich bei meinem Fedora irgendwas zurecht fummeln muss.

        Leider bedeutet jede Einstellung < 254 bei meinem eeepc, dass die Platte nach ein paar Sekunden runter dreht, nur um nach weiteren zwei, drei Sekunden wieder hoch zu drehen.

  7. hdparm/smartctl hilft nicht immer. Bei der WDC WD20EARS-00MVWB0 z.B. “APM_level = not supported”. Und dann gibt es noch die Platten, die es zwar supporten, aber keinen Effekt erzielen. Für solche braucht man dann Lösungen wie http://sf.net/projects/parkverbot .

  8. Hi,

    der Artikel vermischt zwei Dinge bzw. Stromsparmechanismen bei HDDs:

    1. Das Abschalten des Spindelmotors (Spindown), meßbar über den SMART-Wert Start_Stop_Count und erkennbar an den “Denkpausen” beim Wiedernlauf. Es tritt insbesondere bei APM < 128 auf. Ubuntu 12.04 hat 127 als Standardeinstellung für den Akkubetrieb eingeführt und das ist bei vielen Nutzern auf Kritik gestossen. Inzwischen ist man zurückgerudert und stellt wieder 128 ein: LP #952556

    2. Das Entladen bzw. Parken der Köpfe, im Grunde verursacht durch eine zu aggressive HDD-Firmware, meßbar über den SMART-Wert Load_Cyle_Count und ausführlich beschrieben in Notebook festplatten Bug

    Außerdem wäre da noch der Spezialfall Western Digital: WD IntelliPark

    Gruß, linrunner

  9. High
    Leider gibt es alte Seagate Platten die in der Firmware ein runter drehen der Platte alle 1 Minute fest verdrahtet haben. Bei einem Notebook von Acer (2312lm) zum Beispiel. Da habe ich mich dusselig gefummelt unter Linux und es hat nichts geholfen. Auch unter Win ging das Ding dauernd an und aus.

  10. Sehr guter Beitrag! Ich danke dir für den informativen Beitrag. Sicherlich bin ich nicht der einzige, dem dieses ständige Rauf und Runter mächtig auf den Keks ging, wenn man ohne Netzkabel in der Bibliothek saß. Danke auch an den Leser, der das Thinkwiki verlinkte!

  11. Vielen Dank für den Beitrag!
    Bin froh, dass ich nun endlich das unangenehme “Knacken” der Festplatte im Akkumodus wieder losgeworden bin.

Hinterlasse eine Antwort

Auf Linux und Ich darf anonym kommentiert werden. Die Felder für Name und E-Mail-Adresse dürfen beim Eintragen eures Kommentars leer bleiben. Ich freue mich aber über jeden Kommentar, zu dem der Autor mit seinem Namen steht.