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?
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?
Antworten:
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-Speicher 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 Dateien und Ordner lesen. 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 das Unterbrechen Ihrer fstab-Konfiguration dazu führen kann, dass Ihr System 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 eine / home-Partition haben, beginnen Sie mit dieser Änderung diese Partition, wenn Sie etwas brechen besorgt sind
# / 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
Unter der Annahme, dass Sie keinen unternehmenskritischen Produktserver betreiben, 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 RAM-Speicher und nicht auf die SSD geschrieben werden.
Hinweis: Nehmen Sie die folgenden Änderungen nur vor, wenn Sie die gesamte Software installiert haben, die Sie verwenden möchten (insbesondere Dinge wie 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:
Im Allgemeinen würde ich mich nicht darum kümmern - die Sorgen um das SSD-Leben sind übertrieben. In diesem ausführlichen Artikel erfahren Sie, 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.
Leistungsabfall im Laufe der Zeit kann jedoch ein Problem sein, und TRIM ist die Lösung. Es gibt zwei Möglichkeiten
Sie müssen das automatische Trimmen selbst aktivieren . (Grundsätzlich fügen Sie die discard
Option Ihren Mount-Optionen hinzu, vorausgesetzt, Sie verwenden ext4.) Ich habe einen Blog-Beitrag gefunden, der meldet, dass die Discard-Option Ihr System beim Löschen von Dateien verlangsamt .
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 wiper.sh
Skript. Ich habe das Skript unter /usr/share/doc/hdparm/contrib/wiper.sh.gz
auf meinem System gefunden.
Wenn Sie sich fragen, ist das von Wikipedia beschriebene Problem, das TRIM löst, Folgendes :
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: Der Inhalt des gesamten Blocks muss gespeichert werden im Cache, bevor es effektiv auf dem Flash-Medium gelöscht wird, wird die überschriebene Seite im Cache so geändert, dass der zwischengespeicherte Block auf dem neuesten Stand ist, und nur dann wird der gesamte Block (mit aktualisierter Seite) auf das Flash-Medium geschrieben . Dieses Phänomen ist als Schreibverstärkung bekannt.
Es gibt mehrere Punkte:
Ausrichtung:
Was oft hervorgehoben wird, ist die 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 (das MiB verwendet) verwenden und dann auf Installieren klicken, um die von Ihnen eingerichteten Partitionen zu verwenden.
Der richtige Planer:
Ein wichtiger Punkt ist der Scheduler , der sein sollte noop
. 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 empfehlen noatime
unddiscard
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 diesen ausgezeichneten Wiki-Artikel empfehlen, wenn Sie tiefer in dieses Thema eintauchen möchten .
Schnelltuning-Kurs für Ihre SSD unter Ubuntu:
Dateisystem
Das Arch-Wiki nennt einige bevorzugte Optionen für das SSD-Dateisystem - eine davon ist instabil, andere sind ext *. Ich gehe davon aus, dass ext4 einer der besten Picks ist.
Hinweis: Im Fall von ext4 möchten Sie möglicherweise die discard
Mount-Option 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:
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
Optionen. Infos gibt es hier .Planer
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
die Info
/tmp
RAM ist es sehr einfach, auf eine Situation mit unzureichendem Arbeitsspeicher zuzugreifen, da viele Programme /tmp
als Speicherplatz verwendet werden (z. B. Brasero zum Speichern von DVD-Bildern).
tmpfs
Standardmäßig sind 10% des Arbeitsspeichers. Die Größe kann jedoch mit der size
Option angepasst werden .
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
Fügen Sie diese dann zur Datei hinzu und speichern Sie sie (Wenn Sie keine separate / home-Partition auf ssd haben oder andere Teile auf ssd haben, sollten Sie die Idee haben, wie Sie dies ändern können:
#!/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, so dass keine Fehler auftreten. 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. 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 Allround-Guide. Er hat einen Tag lang nicht bei Google herumgesehen und dann einen Guide erstellt. Sie sollten ihn HIER nachlesen
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 das util-linux- Paket um eine neue Funktion erweitert, die SSDs regelmäßig automatisch zuschneidet. Standardmäßig ist TRIM jedoch nur für Intel- und Samsung-SSDs aktiviert, da sich einige billige SSDs sogar selbst zuschneiden können, wenn TRIM ausgeführt wird. 2 Der Inhalt von /etc/cron.weekly/fstrim
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
1 https://en.wikipedia.org/wiki/Trim_%28computing%29
2 Wie wird das Zuschneiden aktiviert?
Es ist klar, dass dies /var/tmp
nicht in tmpfs sein sollte, da der Inhalt per Definition nach einem Neustart erhalten bleiben muss:
Ok "lange Rede kurzer Sinn":
Formatieren Sie wie ext4
bei der Installation 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. Ergänzen Sie noatime,nodiratime,discard
auch Ihre ext4-Zeile nach den Standardeinstellungen. Dies verringert auch den Verschleiß und aktiviert die TRIM-Funktion. Speichern und neu starten.
Es gibt einige gute Informationen, wie Sie SSD für Ubuntu, Linux Mint von http://namhuy.net/1563/how-to-tweak-and-optimize-ssd-for-ubuntu-linux-mint.html optimieren können Interesse haben an
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
UPS ist erforderlich. In der /etc/sysctl.conf
Datei
vm.dirty_writeback_centisecs = 15000
vm.swappiness = 10
Suchen Sie den Konfigurationsdatei-Daemon, normalerweise /etc/syslog.conf
или, /etc/rsyslog.d/
und alle Pfade des Formulars /var/log/
ändern sich, indem Sie ein Minuszeichen ("-") vor ways.Before mail.err schreiben
/var/log/mail.err
Nach
mail.err -/var/log/mail.err
benutze FS btrfs
und benutze die -o ssd
Option
So optimieren und optimieren Sie SSD für Ubuntu, Linux Mint
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
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 aussieht. Dafür würden Sie natürlich viel mehr RAM benötigen.
Ich würde zB die Partitionen /, / etc, / usr, / boot, / lib 32/64 auf der SSD ablegen, während ich etwas mag
/ 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.
/root
, /home
und Swap sollten aus Gründen der Geschwindigkeit auf die SSD gestellt werden, da sie meistens schreibgeschützt sind. /var
Setzen Sie die SSD auch ein , um die Geschwindigkeit zu verbessern .
/
Partition für Kubuntu Oneiric benötigt auf meiner SSD 4,5 GB. 20 GB sind ausreichend für /
minus /home
. Der Aufwand, das Dateisystem-Layout zu optimieren und auf mehrere Partitionen zu verteilen, lohnt sich nicht.
tmpfs
Zeilen kommentiert. Warum sollte das Hinzufügen dieser Zeilen also einen Unterschied bewirken? Müssen wir es unkommentiert hinzufügen?