Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv
 

SSDs gibt es nun schon eine ganze Weile. Ich musste meinen guten alten Desktop leider ersetzen durch einen neueren da das Motherboard intermittierend Probleme machte. Das neue System hat nun auch eine 120GB SSD und ich brauchte eine Weile um herauszufinden, was ich unter Linux konfigurieren muss um die SSD möglichst lange benutzen zu können. SSDs liefern Daten sehr schnell beim Lesen. Schreiben dauert länger und leider ist die Zahl der Schreibvorgänge beschrängt. Somit sollte man die Schreibzugriffe auf eine SSD soweit wie möglich reduzieren. Auf den folgenden Seiten beschreibe ich im Detail welche Änderungen ich an meiner LInuxkonfiguration gemacht habe um das zu erreichen.

 

Zuerst formatierte ich die Platte mit einer Partition und reservierte ein wenig Plattenplatz (overprovisioning). Danach installierte ich das gesamte Betriebssystem auf der SSD und verschob einige Verzeichnisse auf meine Platte. Filesysteme, auf die viel geschrieben wird, verlagerte ich ain den Hauptspeicher (mein neues System hat 8GB Hauptspeicher). Danach musste die /etc/fstab und ein paar Systemeinstellungen angepasst werden sowie ein paar Firefoxeinstellungen. Die Swappartition habe ich nicht auf die SSD gelegt.

SSD Formatierung

Es wird allgemein empfohlen nur 90% der SSD zu benutzen und 10% freizulassen.

Partitionen die auf Platte verschoben werden sollten

Das gesamte root Filesystem sollte auf ssd gelegt werden. Die Frage ist ob das home Verzeichnis auf Platte zu legen ist. Ich habe das getan. Allerdings habe ich Unterverzeichnisse auf denen häufig geschrieben wird (z.B. downloads oder VMware Images) auf Platte gelegt.

Partitionen die in tmpfs (RAM) verlagert wurden

/tmp, /var/spool, /vartmp und /var/log wurden in RAM verlagert. Mit /var/log gibt es dann einen Nachteil: Die Logs überleben keinen Reboot. Wenn es irgendwelche Probleme gibt die das System einfrieren lassen muss dieses Verzeichnis auf eine Platte gelegt werden.

Meine fstab hat folgende Einträge für tmpfs

tmpfs     /tmp    tmpfs    defaults,noatime,mode=1777    0    0
tmpfs     /var/spool    tmpfs    defaults,noatime,mode=1777    0    0
tmpfs     /var/tmp    tmpfs    defaults,noatime,mode=1777    0    0
tmpfs     /var/log    tmpfs    defaults,noatime,mode=1777    0    0

Änderungen in /etc/fstab

noatime in /etc/fstab verhindert den "access time stamp" zu schreiben, den das Betriebssystem pro Datei schreibt, wenn auf die Datei zugefgriffen wurde. Eine SSD sollte "noatime" haben. Also sieht meine /etc/fstab Zeile für meine  SSD wie folgt aus:

UUID=cc4a6c12-5ec6-4243-993f-8dcbbf15da71 /               ext4    noatime,commit=600,errors=remount-ro 0       1

System Konfigurationsänderungen

trim sollte benutzt werden um eine gute Performance der SSD zu erhalten. Zusätzlich sollte der Scheduler für die SSD eine andere Strategie benutzen. Ich habe dazu die folgenden Zeilen in meine /etc/rc.local (Anmerkung: Mein SSD ist /dev/sda) aufgenommen:

# ssd trim
fstrim -v /
# ssd scheduler
echo "deadline" > /sys/block/sda/queue/scheduler
# Modification for SSD which creates log files on /var/log
for dir in apparmor apt cups dist-upgrade fsck gdm installer samba unattended-upgrades; do
if [ ! -e /var/log/$dir ] ; then
  mkdir /var/log/$dir
  fi
done
 

Firefox Konfigurationsänderungen

In about:config habe ich folgende Einstellungen geändert:
1. browser.cache.disk.enable set to false
2. browser.cache.memory.enable set to true
3. New browser.cache.memory.capacity set to -1

Monitor SSD Benutzung

Auf diesem Link gibt es weiter Details wie man die SDD Benutzung überprüfen kann. Ebenfalls helfen  atop oder iostats. Ein weiterer hilfreicher Befehl ist

pidstat -dl 20

References

A good ssd/hdd partition scheme

How to maximize ssd performance with Linux

Solid State Drive (SSD): optimize it for Ubuntu 14.04, Linux Mint and Debian

SSD Optimization - Debian Wiki

Investigate disk writes further to find out which process writes to my SSD

SSD owners: Set Firefox to memory cache instead of disk

Tunings an SSD on LInux

SSD Unter Linux optimieren

SSD: how to optimize your Solid State Drive for Linux Mint and Ubuntu

How to check SSD health in Linux

Kommentar schreiben

*** Hinweis ***

Kommentare sind erwünscht. Aber um lästige Spamposts abweisen zu können gibt es ein paar Dinge die zu beachten sind:
  1. Kommentare mit dem Text http werden sofort zurückgewiesen mit der Meldung Sie sind nicht berechtigt den Tag zu verwenden. zz
  2. Kommentare werden manuell überprüft und es dauert deshalb in der Regel einen Tag bis sie veröffentlicht werden.

    Kommentare   
    #4 framp 2018-03-20 23:07
    Moin schnippi,

    1) wenn Du ein Linuxsystem hast - einfach die SD Karte dort mounten und die /etc/fstab korrigieren. Du kannst auch ein raspbian auf eine weitere SD Karte bringen und es von dort korrigieren.

    2) Wenn Du ein Windowssystem hast musst Du noch einen ext3 Treiber] installieren dass Du die Rootpartition auf Windows siehst und dann die /etc/fstab korrigieren kannst.

    3) Mit einem angeschlossenen Monitor und Tastatur kannst Du als root die Datei auch per vi korrigieren.

    Cu framp
    Zitieren
    #3 schnippi 2018-03-20 22:24
    habe statt noatime
    noatimes eingegeben
    system bootet nicht mehr

    frage wie kann ich über ein paralellsystem über das terminal
    an diese datei kommen

    wäre schön wenn mir da einer helfrn könnte

    danke
    Zitieren
    #2 framp 2015-11-23 20:46
    Moin Thomas,

    freut mich dass der Beitrag hilfreich war :-)

    Cu framp
    Zitieren
    #1 Thomas 2015-11-23 20:20
    Hallo,
    ich habe mich vor kurzem entschlossen von Win... zu Linux zu wechseln.
    Jetzt habe ich mir eine SSD angeschaft und nach Deiner guten Anleitung diese in mein System eingebaut.
    Funzt alles bestens.
    Gruß Thomas
    Zitieren