Der Trend bei den Speichermedien geht immer weiter hin zu Solid Disks die auf Speicherkarten wie DC/CF-Karten basieren. Die Vorteile sind reltaiv deutschlich zu erkenne. Solid Disks verbrauchen wesentlich weniger Strom. Sie entwickeln keine Abwäre, was wiederum bewirkt das weniger gekühlt werden muss. Da SD-Speicher auch nicht rotieren sind sie auch nicht hörbar. Jedoch steht all diesen Vorteilen noch ein nicht unerheblicher Nachteil entgegen. SD-Speicher sind langsamer als herkömmliche Festplatten insofern man nicht gerade auf die teuren Modelle wie die X25-E von Intel setzt.
Ich habe zum Beispiel einen Igel (XP-5610) – den es zum Igel Training kostenlos dazu gab – mit Debian Linux installiert. Das Gerät dient für mich als OpenVPN Server, SMTP-Relay und Proxy Server. Jedoch merkt man sehr schnell nach der Installation das das Gerät kurzzeitig zum stocken kommt sobal zuviele Schreibzugriffe auf einmal durchgeführt werden müssen. Hier besteht allerdings die Möglichkeit, dass man das System selbst nocht etwas für den Schreibzugriff auf die interne CF-Karte sowie einen USB-Stick optimieren kann.
Fangen wir mit der /etc/fstab an. Linux speichert pro bearbeitete Datei/Ordner die letzte Zugriffszeit. Darauf kann mann verzichten da dies unnötige Schreibvorgänge sind. Des weiteren kann man Dateien die sich oft ändern in eine Ramdisk verlegen. Klar, diese Dateien überleben keine Reboot. Bei einem System was nicht kritisch ist, kann man jedoch evtl. auf die Log-Dateien verzichten. Da aktuellen Log Einträge kann man ja immer noch einsehen. Ebenso kann das apt-get Update Verzeichniss in eine Ramdisk wandern, die *.deb Dateien benötigt man nach dem Update/einer Installation meißt nicht mehr.
about:configproc /proc proc defaults 0 0
/dev/hda1 / ext3 nodiratime,noatime,rw,errors=remount-ro,commit=120 0 1
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
tmpfs /var/cache/apt tmpfs defaults,noatime,nodiratime,mode=0755 0 0
Das Problem mit Ramdisks ist jedoch, dass diese beim booten relativ spät erstellt werden und einige Dienste vorher bereits versuchen auf die Dateien zuzugreifen bzw. die Ordnerstruktur nach jedem Reboot neu angelegt werden muss. Dies lässt sich jedoch über die Date /etc/rc.local lösen. Hier kann man in der Date /etc/rc.local vor exit 0 die entsprechenden Einträge einfügen. Beispiel:
for dir in apparmor apt news cups dist-upgrade fsck gdm installer news samba squid unattended-upgrades ; do mkdir -p /var/log/$dir done chown proxy:proxy /var/log/squid mkdir /var/cache/apt/archives/ mkdir /var/cache/apt/archives/partialexit 0
Des weiteren lässt sich das System über die/etc/sysctl.conf weiter Optimieren.
#Zeitraum zwischen dem letzten Lesevorgang und dem nächsten Schreibvorgang vm.laptop_mode=120#Wie oft soll der Kernel prüfen ob "dirty changes" vorhanden sind #um diese dann auf die Platte zu schreiben (Zentisekunden) vm.dirty_writeback_centisecs=12000#Wie alt müssen "dirty changes" sein damit sie weg geschrieben werden #Sinnvollerweise vm.dirty_expire_centisecs = vm.dirty_writeback_centisecs vm.dirty_expire_centisecs=12000#Wieviel Prozent das RAMS dürfen von einem Prozess mir "dirty changes" gefüllt #sein bevor der Prozess gezwungen wird diese Änderungen zu schreiben vm.dirty_ratio=10 vm.dirty_background_ratio=1# Bei Wieviel Prozent freien Speicher soll das System anfange zu swappen vm.swappiness = 0
Nun kommt noch das logging an die Reihe. Der syslog Daemon schreibt einige Log-Dateien sofort und andere wiederrum Zeitverzögert. Der Sinn ist, dass Systemrelevante Informationen sofort in Stein gemeißelt werden (Debugging Informationen) während unwichtigere Infos ruhig verzögert geschrieben werden können. Welche Log-Datei wie behandelt wird erkennt man in der /etc/syslog.conf an dem führenden – vor der Log-Datei. Alle Dateien mir – werden verzögert geschrieben. Diese Änderung macht jedoch nur Sinn, wenn die Logs nicht sowieso schon in einer Ramdisk liegen 😉
auth,authpriv.* -/var/log/auth.log *.*;auth,authpriv.none -/var/log/syslog #cron.* -/var/log/cron.log daemon.* -/var/log/daemon.log kern.* -/var/log/kern.log lpr.* -/var/log/lpr.log mail.* -/var/log/mail.log user.* -/var/log/user.log
Firefox
Da Firefox beim Browsen immer einen lokale Cache anlegt, bietet es sich an, diesen bei genügend RAM in eine Ramdisk wie /tmp zu verlagern. Dazu muss nur die Webseite about:config aufgerufen werden. Dort wird dann ein weiterer Eintrag Namnes browser.cache.disk.parent_directory erstellt, der als Wert den Pfad zum Cache Verzeichniss enthält.
Links:
- Blockgrößen Optimierung für X25 (Optimierung anhand der Blockgröße des Datenträgers)
- more tweaks
- hdparm 9.22 verbesser SSD
Ein Kommentar
Pingback: Speicher, SWAP, Stabilität optimierung für Android - Android-Hilfe.de