Ubuntu 11.04 für SSD anpassen
SSDs werden langsam fast leistbar und somit wird es Zeit sich darüber Gedanken zu machen die langsame alte Festplatte mit Scheiben und mechanischen Teilen durch eine moderne superschnelle Solid State Disk zu ersetzen.
Wenn man diesen Schritt aber nun getan hat und sich jetzt echt eine SSD im Rechner befindet stehen wir vor einem neuen Problem.
Kann Ubuntu überhaupt mit einer SSD?
Muss ich da etwas beachten?
Die gute Nachricht ist: Ja Ubuntu kann sehr gut und problemlos mit SSDs. Ich habe Ubuntu 11.04 auf einer neue SSD in 19 Minuten und 31 Sekunden (!!!) installiiert und das inklusive Online Updates. Das ist schon bedeutsam schneller als vorher mit der traditionellen Festplatte.
Die schlechte andere Nachricht ist: Man sollte doch einige kleine Anpassungen am System machen um die SSD optimal zu nutzen.
Seid gewarnt!
Alle hier vorgestellten Anpassungen können unter Umständen euer System beschädigen! (so wie jede Änderung an grundlegenden Systemeinstellungen)
Jetzt seid ihr gewarnt!
Lebensdauer und Langzeitperformance erhöhen
SSDs erlauben zwar viel schnellere Schreib- und Lesezugriffe auf den physikalischen Speicher, jedoch reagieren sie nicht ganz so gut auf viele viele kleine Zugriffe. Also vermeiden wir eben solche um die Lebensdauer unserer SSD zu erhöhen.
Ubuntu setzt bei jedem Zugriff auf einen Ordner oder eine Datei einen Zeitstempel. Diese Daten sind für mich wertlos, denn Zugriff heißt Anzeige oder Ausführung nicht Änderung. Änderungszeit wird sowieso gespeichert. Also verhindern wir dies indem wir dem Mountpoint “/” die Mountoptionen noatime und nodiratime geben.
Eine weitere Mountoption die wir mitgeben um die Langzeitperformance zu erhöhen ist discard. Damit aktivieren wir TRIM.
Um diese Optionen auch wirklich anzuwenden editieren wir die Datei /etc/fstab.
Bevor wir aber eine so wichtige Systemdatei bearbeiten kopieren wir sie weg um sie gegebenfalls bei Fehlern mit einem Livesystem wieder herstellen zu können.
sudo cp /etc/fstab /etc/fstab.bak
Nun editieren wir die Datei /etc/fstab und fügen die Optionen wie folgt zu unserem “/” Mountpoint hinzu (die GUID am Anfang sieht bei euch natürlich anders aus):
Vorher:
UUID=b0620914-3943-4cdd-bcf8-00909575c43c / ext4 errors=remount-ro,user_xattr 0 1
Nachher:
UUID=b0620914-3943-4cdd-bcf8-00909575c43c / ext4 discard,noatime,nodiratime,errors=remount-ro,user_xattr 0 1
Scheduler
Das Betriebssystem verwaltet Zugriffe auf die Festplatte mittels eines Schedulers. Standardmäßig verwendet Ubuntu “cfq”. Das ist kein optimaler Scheduler für SSDs.
Wenn man folgenden Befehl ausführt sieht man welche Scheduler vefügbar sind und welcher aktuell verwenden wird (das ist der in eckigen Klammern).
cat /sys/block/sda/queue/scheduler
Ergebnis:
noop deadline [cfq]
“deadline” eignet sich viel besser als “cfq“. Um dies umzusetzen editieren wir /etc/rc.local (natürlich fertigen wir vorher wieder eine Sicherheitskopie dieser Datei an).
In diese Datei fügen wir vor der Zeile “exit 0” folgende Zeilen ein:
…
echo deadline > /sys/block/sda/queue/scheduler
echo 1 > /sys/block/sda/queue/iosched/fifo_batch
…
Nach einem Neustart sollte das Abfragen des Scheduler wie folgt aussehen:
noop [deadline] cfq
tempfs
Dieser Tipp betrifft eigentlich jeden Ubuntu Rechner nicht nur diese mit SSD. Man kann nämlich den /tmp Ordner des Systems in ein tempfs am RAM mounten um Zugriffe auf die Festplatte zu minimieren und schneller ist das auch noch.
Dies erreichen wir durch einen neuen Eintrag in die Datei /etc/fstab:
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
Nun nur noch neu starten und schon ist unser System etwas SSD-optimierter.
Habt ihr noch andere Tipps oder Erfahrungen? Dann zögert nicht und postet sie in die Kommentare.
Tags: anpassen, festplatte, fstab, hard disk, hdd, Howto, io, natty, noatime, nodiratime, scheduler, ssd, tweak, ubuntu





Bruno Hautzenberger

20. Juni 2011 um 17:49
Vielen Dank!
You got flattred and followed.
Tom
23. Juni 2011 um 10:39
Danke
das hat mir mit meiner SSD sehr weiter geholfen
04. Juli 2011 um 19:51
Danke für die Infos!
Eine Kleinigkeit: noatime impliziert automatisch nodiratime, somit ist nodiratime überflüssig.
Quelle: http://lwn.net/Articles/245002/
Man könnte eventuell noch erwähnen, den Firefox-Cache nach /tmp zu verschieben (und somit ins Ram) wie hier beschreiben:
http://itezer.com/blog/ubuntu-linux/125-four-tweaks-for-using-ubuntu-with-ssd.html