it-swarm-eu.dev

Wie optimiere ich das Betriebssystem für SSDs?

Welche Schritte sollten vor/während/nach der Installation von Ubuntu auf einem Solid-State-Laufwerk unternommen werden, um die Leistung zu optimieren und eine maximale Lebensdauer des Laufwerks sicherzustellen?

146
Lars Haugseth

Ich habe erfolgreich verschiedene Techniken angewendet, um die Art und Weise zu verbessern, wie Ubuntu das Speichergerät verwendet, sei es als Solid-State- oder als traditionelles Laufwerk.

Bei SSDs möchten Sie die Anzahl der Schreibvorgänge auf ein Mindestmaß beschränken, da Lesevorgänge den Verschleiß des Laufwerks nicht erhöhen sollten.

1) Verwalten Sie die Auslagerungsdatei

Wenn Sie Ihren Computer nicht in den Ruhezustand versetzen und über ausreichend RAM Arbeitsspeicher verfügen, um alle Ihre Anwendungen auszuführen, benötigen Sie theoretisch keine Swap-Partition.

Wenn Sie eine Mischung aus SSD und Festplatten haben, platzieren Sie Ihre Swap-Partition nur auf den Festplatten.

2) Keine Schreibvorgänge für Lesezeitstempel (geeignet für SSDs und Festplatten)

Das Mounten Ihrer Partitionen mit den Optionen noatime und nodiratime stoppt das Schreiben von Zeitstempeln, wenn Sie lesen Dateien und Ordner. Diese Zeitstempelschreibvorgänge sind im Allgemeinen nur erforderlich, wenn Sie einen lokalen Mailserver-Client wie mutt verwenden. Dies ist im Allgemeinen eine schlechte Idee, da bei jedem Lesevorgang beim Aktualisieren der Zeitstempel ein Schreibvorgang ausgeführt wird. Dies verringert die Lebensdauer der SSD.

Bearbeiten Sie Ihre /etc/fstab Konfigurationsdatei (machen Sie eine Sicherungskopie, um sicherzugehen, dass Ihre fstab Konfiguration nicht mehr funktioniert):

cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab

Bearbeiten Sie die Einhängeoptionen für Ihre Partitionen, indem Sie den Text noatime und nodiratime zu den Zeilen hinzufügen, die Ihr Stammverzeichnis (/) und andere Partitionen definieren, wenn Sie diese haben (/ home) - Hinweis: Wenn Sie ein/home haben Partition, beginne damit, dass du nur diese Partition änderst, wenn du dir Sorgen machst, dass etwas kaputt geht

# / was on /dev/sda2 during installation
UUID=587e0dc5-2db1-4cd9-9792-a5459a7bcfd2 /               ext4    noatime,nodiratime,errors=remount-ro 0       1

# /home was on /dev/sda3 during installation
UUID=2c919dc4-24de-474f-8da0-14c7e1240ab8 /home           ext4    noatime,nodiratime,defaults        0       2

Sie müssen Ihren Computer neu starten, damit diese Änderungen wirksam werden

3) Minimieren von Schreibvorgängen vom Betriebssystem und von Anwendungen

Vorausgesetzt, Sie betreiben keinen unternehmenskritischen Produktserver, sehen sich die meisten Leute keine Protokolle an, falls etwas schief geht (zumal schwerwiegende Fehler bei den meisten Ubuntu-Benutzern selten sind). Daher können Sie Ubuntu so konfigurieren, dass alle Protokolle in den Speicher RAM und nicht auf die SSD geschrieben werden.

Hinweis: Nehmen Sie die folgenden Änderungen nur vor, wenn Sie die gesamte Software installiert haben (insbesondere Apache-Webserver). Andernfalls können Probleme mit fehlenden Verzeichnissen in/var/log auftreten.

Hintergrundinformationen zu diesem Ansatz finden Sie unter Verlängern der Lebensdauer Ihres Flash-Laufwerks auf ubuntu-eee.com

Öffnen Sie /etc/fstab mit einem Editor (vorausgesetzt, Sie haben die Datei/etc/fstab gesichert)

gksudo gedit /etc/fstab

Fügen Sie die folgenden Zeilen am Ende der fstab-Datei hinzu und speichern Sie:

# Uncomment these after all server based applications installed - eg. Apache
#tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
#tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
#tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0 
#tmpfs /var/log/apt tmpfs defaults,noatime 0 0
# none /var/cache unionfs dirs=/tmp:/var/cache=ro 0 0

Sie müssen Ihren Computer neu starten, damit diese Änderungen wirksam werden

Siehe auch:

108
jr0cket

SSD-Leben

Im Allgemeinen würde ich mich nicht darum kümmern - die Sorgen um das SSD-Leben sind übertrieben. Sie können dies lesen ausführlicher Artikel darüber, warum Sie sich wirklich keine Sorgen machen sollten . Kurz gesagt, die Schaltkreise in modernen SSDs verwalten den Verschleißausgleich für Sie und sie wissen, wie dies weitaus besser geht als Sie.

In dem Artikel wird die Lebensdauer einer SSD berechnet, die Schreibvorgänge mit einer kontinuierlichen Geschwindigkeit von 80 M/s empfängt. Das Leben ist 51 Jahre . Das basiert auf der Technologie von 2007 - die Lebensdauer von SSDs wird jetzt länger. Und Sie schreiben mit ziemlicher Sicherheit nicht 24 Stunden am Tag mit 80 M/s auf Ihre SSD.

SSD-Leistung

Leistungsabfall im Laufe der Zeit kann jedoch ein Problem sein, und TRIM ist die Lösung. Es gibt zwei Möglichkeiten

  • automatisches/Online-Trimmen, auch bekannt als Verwerfen
  • manuelle TRIM

Sie müssen automatisches TRIM selbst aktivieren . (Grundsätzlich fügen Sie die Option discard zu Ihren Mount-Optionen hinzu, vorausgesetzt, Sie verwenden ext4.) Ich habe einen Blog-Beitrag gefunden, der berichtet, dass die Option discard Ihr System verlangsamt, wenn Sie Dateien löschen .

Sie können dies gelegentlich manuell (oder in einem Cron-Job) mit fstrim tun. Wenn Sie nur eine Partition haben, müssen Sie nur Folgendes tun:

Sudo fstrim /

Beachten Sie, dass fstrim nur in 11.10 und neuer verfügbar ist. Für ältere Systeme benötigen Sie das Script wiper.sh. Ich habe das Skript unter /usr/share/doc/hdparm/contrib/wiper.sh.gz auf meinem System gefunden.

Wenn Sie sich fragen, ist das Problem, das TRIM löst, wie beschrieben von Wikipedia :

SSDs speichern Daten in Flash-Speicherzellen, die in Seiten gruppiert sind, wobei die Seiten (in der Regel jeweils 4 kB) zu Blöcken zusammengefasst sind (in der Regel 128 Seiten pro Block, insgesamt 512 kB). NAND-Flash-Speicherzellen können nur direkt beschrieben werden, wenn sie leer sind. Wenn davon ausgegangen wird, dass sie Daten enthalten, muss der Inhalt zuerst gelöscht werden, bevor eine Schreiboperation zuverlässig ausgeführt werden kann. In SSDs kann ein Schreibvorgang auf Seitenebene ausgeführt werden. Aufgrund von Hardwareeinschränkungen wirken sich Löschbefehle jedoch immer auf ganze Blöcke aus. Infolgedessen ist das Schreiben von Daten auf SSD-Medien sehr schnell, solange leere Seiten verwendet werden können, verlangsamt sich jedoch erheblich, sobald zuvor geschriebene Seiten überschrieben werden müssen . Da ein Löschen der Zellen auf der Seite erforderlich ist, bevor sie erneut geschrieben werden können, aber nur ganze Blöcke gelöscht werden können, wird durch ein Überschreiben ein Lese-, Lösch-, Änderungs- und Schreibzyklus ausgelöst: the Der Inhalt des gesamten Blocks muss im Cache gespeichert werden, bevor er effektiv auf dem Flash-Medium gelöscht wird. Anschließend wird die überschriebene Seite im Cache so geändert, dass der zwischengespeicherte Block auf dem neuesten Stand ist. Erst dann wird der gesamte Block (mit aktualisierter Seite) aktualisiert ) auf das Flash-Medium geschrieben . Dieses Phänomen ist als Schreibverstärkung bekannt.

92
Hamish Downer

Es gibt mehrere Punkte:

Ausrichtung:

Was oft darauf hingewiesen wird, ist das richtige Ausrichtung der Partition. Dies sollte der Blockgröße der SSD entsprechen. Gehen Sie auf Nummer sicher und richten Sie Ihre Partitionen an den MiB-Grenzen aus. Beachten Sie, dass Sie dies nicht mit dem Partitionstool des Ubuntu-Installationsprogramms (das MB und nicht MiB verwendet) tun können. Sie können jedoch die Live-CD booten, Gparted verwenden (das MiB verwendet) und dann auf Installieren klicken, um die von Ihnen eingerichteten Partitionen zu verwenden.

Der richtige Planer:

Ein wichtiger Punkt ist der Scheduler , der noop sein sollte. Sie können diesen Scheduler über den Kernelparameter elevator=noop oder über einen Eintrag echo noop > /sys/block/sda/queue/scheduler in Ihrer rc.local einstellen.

Mountflags:

Ich würde noatime und discard empfehlen

Tmpfs

Das Speichern von tmp auf einer Ramdisk kann die Lebensdauer der SSD verlängern. Um dies zu benutzen, füge die folgende Zeile in deine fstab ein: none /tmp tmpfs defaults 0 0

Im Allgemeinen würde ich this exzellenten Wiki-Artikel empfehlen, wenn Sie tiefer in dieses Thema eintauchen möchten.

20
Sebastian Rühl

Schnelltuning-Kurs für Ihre SSD unter Ubuntu:

Dateisystem

Arch wiki Erwähnungen einige bevorzugte Optionen für das SSD-Dateisystem - eine davon ist instabil, andere sind ext *. Ich nehme an ext4 ist einer der besten Picks.
Hinweis: Im Fall von ext4 möchten Sie möglicherweise die Mount-Option discard verwenden.

fstab

# <file system> <mount point> <type> <options>                                  <dump>  <pass>
proc            /proc         proc   nodev,noexec,nosuid                        0       0
tmpfs           /tmp          tmpfs  nodev,nosuid,noatime,mode=1777             0       0
/dev/sda1       /             ext4   defaults,noatime,discard,errors=remount-ro 0       1
/dev/sda2       /home         ext4   defaults,noatime,discard,user_xattr        0       2
/dev/sda3       /windows      ntfs   defaults,noatime,discard,umask=007,gid=46  0       0

Einige wichtige Dinge sind hier:

  • Für Systeme mit> = 2 GB Arbeitsspeicher ist es wünschenswert,/tmp im RAM zu lokalisieren.
  • Keine swap Partition. Heutzutage wird es nur für den Ruhezustand benötigt, da moderne Maschinen eine ziemlich große Menge an RAM haben.
  • noatime und discard. Info ist hier .

Scheduler

Ziehen Sie in Betracht, vom Standard-Scheduler, der unter den meisten Linux-Distributionen cfq (vollständig faires Queuing) ist, zum Noop- oder Deadline-Scheduler für eine SSD zu wechseln. Mit dem noop-Scheduler werden beispielsweise Anforderungen einfach in der Reihenfolge ihres Eingangs verarbeitet, ohne dass berücksichtigt wird, wo sich die Daten physisch auf der Festplatte befinden. Diese Option wird für SSDs als vorteilhaft angesehen, da die Suchzeiten für alle Sektoren auf der SSD identisch sind.

Fügen Sie Folgendes zu /etc/rc.local hinzu:

# SSD performance tuning
echo noop > /sys/block/sda/queue/scheduler

info

einszwei

16

4) automatisches TRIM aktivieren

Wenn Ihre SSD dies unterstützt, sollten Sie auch das automatische TRIM aktivieren (wie beschrieben hier )

8
Uli

Mit TRIM kann ein Betriebssystem einer SSD mitteilen, welche Datenblöcke nicht mehr verwendet werden und intern gelöscht werden können. Durch das Zuschneiden kann die SSD den Speicherbereinigungs-Overhead verarbeiten, der ansonsten zukünftige Schreibvorgänge auf die betroffenen Blöcke erheblich verlangsamen würde. 1

In Ubuntu 14.04 wurde dem util-linux -Paket eine neue Funktion hinzugefügt, die SSDs regelmäßig automatisch zuschneidet. Standardmäßig ist TRIM jedoch nur für Intel- und Samsung-SSDs aktiviert , weil sich einige billige SSDs beim Ausführen von TRIM sogar selbst ziegeln können.2 Der Inhalt von /etc/cron.weekly/fstrim in Ubuntu 14.04:

#!/bin/sh
# call fstrim-all to trim all mounted file systems which support it
set -e

# This only runs on Intel and Samsung SSDs by default, as some SSDs with faulty
# firmware may encounter data loss problems when running fstrim under high I/O
# load (e. g.  https://launchpad.net/bugs/1259829). You can append the
# --no-model-check option here to disable the vendor check and run fstrim on
# all SSD drives.
exec fstrim-all

1https://en.wikipedia.org/wiki/Trim_%28computing%29
2Wie wird das Zuschneiden aktiviert?

3
karel

Ich würde diese Zeile nicht zu Ihrer fstab hinzufügen, der Ordner var/tmp soll Neustarts überleben, und das könnte Probleme für Sie verursachen.

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

Wenn ich ein neues System konfiguriere, lasse ich den gesamten tmp-Ordner auf diese Weise auskommentiert, wenn etwas passiert. Ich kann die Protokolle und das Zeug überprüfen. Sobald ich das Hauptsystem-Setup habe, werde ich sie auskommentieren, aber ich füge die obige Zeile nie hinzu. Hier ist, was ich benutze:

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

Und wenn ich Probleme mit meinem System habe, kommentiere ich diese aus, um alles zu überprüfen, auch nach einem Neustart oder einem erzwungenen Neustart nach einem Absturz.

Auch Sie brauchen keine Nodiratime, Noatime Option kümmert sich um beide von selbst.

Was TRIM betrifft, ist es ein Muss, wenn Ihre Hardware/Software es unterstützt. Ich verwende kein Discard in fstab. Ich erstelle einen täglichen Cron, weil mein PC immer eingeschaltet ist.

gksu gedit /etc/cron.daily/trim

Dann füge dies zur Datei hinzu und speichere es

#!/bin/sh
LOG=/var/log/trim.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG
fstrim -v /home >> $LOG

Dann machen Sie die Datei ausführbar durch:

Sudo chmod +x /etc/cron.daily/trim

Ich bearbeite meine rc.local auch so:

gksu gedit /etc/rc.local

Fügen Sie dies über "exit 0" und unter dem letzten # ein:

# Modification for SSD
# you may want to add more folders to be checked/created to this list
for dir in apparmor apt ConsoleKit cups dist-upgrade fsck gdm installer news ntpstats samba speech-dispatcher unattended-upgrades; do
  if [ ! -e /var/log/$dir ] ; then
    mkdir /var/log/$dir
  fi
done

Sie können von hier aus kopieren und einfügen, damit es keine Fehler gibt. Für den Laien ist dies nicht der Fall.

Ich habe auch gelesen, dass das Belassen von 10% Ihres SSD-Laufwerks unformatiert dazu beitragen kann, die Lebensdauer zu verlängern. Dies bleibt abzuwarten. Ich habe nicht so viel darüber gelesen, deshalb kann ich nicht dafür bürgen, ob es Sinn macht, dies zu tun.

Dies ist der beste Rundum-Guide. Er hat einen Tag lang nicht bei Google herumgesehen und dann einen Guide erstellt. Sie sollten ihn sich ansehen HIER

3
JohnRB

Es gibt einige gute Informationen zum Optimieren und Optimieren von SSD für Ubuntu, Linux Mint von http://namhuy.net/1563/how-to-Tweak-and-optimize-ssd-for-ubuntu-linux-mint .html Das könnte Sie interessieren

Vorspannung verwenden

Zum Installieren von Preload auf Ubuntu, Linux Mint oder Debian-basierten Distributionen

# apt-get update && apt-get install preload

Schalten Sie Ihren Swap aus

So ändern Sie die Einstellungen für die Austauschbarkeit:

$ su -
# nano /etc/sysctl.conf

Fügen Sie diese Zeile in die Datei sysctl.conf ein.

vm.swappiness = 10
2
Sue Russell

Es ist klar, dass /var/tmp nicht in tmpfs enthalten sein sollte, da der Inhalt per Definition nach einem Neustart erhalten bleiben muss:

2
user95602

Ok "lange Rede kurzer Sinn":

  1. Ja. Es ist wie bei einer normalen Festplatte. hier ist eine gute Übersicht.
  2. Einige spezielle Extras, die ich behandeln werde.
  3. Ziemlich gut. Ich benutze es mit einem Server.

Formatieren Sie während der Installation als ext4 und erstellen Sie einen kleinen Swap ~ 1 GB. Nach der Installation editiere fstab mit Sudo gedit /etc/fstab und füge die folgende Zeile hinzu

tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

Dadurch wird ein RAM-Laufwerk für Ihre temporären Dateien erstellt, wodurch die Alterung verringert wird. Fügen Sie nach den Standardeinstellungen auch noatime,nodiratime,discard zu Ihrer ext4-Zeile hinzu. Dies verringert auch den Verschleiß und aktiviert die TRIM-Funktion. Speichern und neu starten.

2
gajdipajti

UPS ist erforderlich. In der Datei /etc/sysctl.conf

vm.dirty_writeback_centisecs = 15000
vm.swappiness = 10

Suchen Sie den Konfigurationsdatei-Daemon, normalerweise /etc/syslog.conf или /etc/rsyslog.d/, und ändern Sie alle Pfade des Formulars /var/log/, indem Sie ein Minuszeichen ("-") vor ways.Before mail.err schreiben

/var/log/mail.err

Nach
mail.err -/var/log/mail.err

verwenden Sie FS btrfs und die Option -o ssd

Mehr http://vasilisc.com/speedup_ubuntu_eng#speedup_fs

Wie man SSD für Ubuntu, Linux Mint optimiert und optimiert

Aktivieren Sie TRIM

TRIM (Trim-Befehl teilt einem Betriebssystem mit, welche SSD-Blöcke nicht verwendet werden und können gelöscht werden)

Sichern Sie zuerst fstab, falls etwas falsches passiert.

# cp /etc/fstab ~/fstab.bk

Bearbeiten Sie die fstab-Datei

# nano /etc/fstab

Fügen Sie Ihren SSD-Laufwerken oder Partitionen nach ext4 Discard hinzu

UUID=bef10b86-494d-41c6-aa46-af72cfba90fd / ext4 discard,errors=remount-ro 0 1
Adding noatime and nodiratime

noatime und nodiratime sind Mount-Optionen in Linux für Linux-Dateisysteme. noatime deaktiviert atime-Aktualisierungen im Dateisystem und nodiratime deaktiviert atime-Aktualisierungen im Verzeichnissystem. Durch das Hinzufügen von noatime und nodiratime wird die SSD-Last erheblich reduziert, was Leistungssteigerungen bedeutet.

Bearbeiten Sie die fstab-Datei

# nano /etc/fstab

Fügen Sie nach ext4 noatime, nodiratime zu Ihren SSD-Laufwerken oder Partitionen hinzu

UUID=bef10b86-494d-41c6-aa46-af72cfba90fd / ext4 discard,noatime,nodiratime,errors=remount-ro 0 1
1
user223973

Ich empfehle, nur die Dinge, die beim Booten gelesen werden, auf der SSD zu platzieren, und möglicherweise Anwendungen, die viel Zeit zum Laden benötigen. Daten und Protokolle und andere unkritische Dinge, die ich auf einer normalen Festplatte finden würde Dies hat den Vorteil, dass Änderungen an dieser Partition nicht dauerhaft sind, was wie ein Schutz für Ihr Boot-System ist. Dafür würden Sie viel mehr RAM natürlich.

Ich würde z. Legen Sie die Partitionen /,/etc,/usr,/boot,/lib 32/64 auf die SSD, während Sie etw mögen

/ opt,/bin,/sbin,/root,/home und sogar auf der Festplatte tauschen (RAM erhöhen !!!)

Wikipedia sagt:

Der Linux-Kernel unterstützt die TRIM-Funktion ab Version 2.6.33. Das ext4-Dateisystem wird beim Mounten mit dem Parameter "discard" unterstützt. Die neuesten Festplattendienstprogramme (und daher die Installationssoftware, die sie verwendet) wenden auch die richtige Partitionsausrichtung an.

Für Backups gibt es viele Möglichkeiten, die einfachste davon ist (r) sync plus cron job.

0
Michael K