E4rat: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 9: | Zeile 9: | ||
* '''e4rat-preload''' - Vorheriges Laden der Dateien | * '''e4rat-preload''' - Vorheriges Laden der Dateien | ||
==Wem es etwas nützt, und wem nicht== | |||
Beim booten in den X-Server auf typischen Einzeluser-Systemen hat sich e4rat schon oft als sehr effizient erwiesen. Handelt es sich jedoch beim Rechner um einen Server, welcher nur in die Kommandozeile bootet, wird sich der Speedgewinn sehr in Grenzen halten. Weiterhin profitieren auch SSDs nicht sehr stark vom Umsortieren der Daten, da die Latenzen bei SSDs in der Regel unabhängig von der Position der Dateien auf dem Datenträger sind. | Beim booten in den X-Server auf typischen Einzeluser-Systemen hat sich e4rat schon oft als sehr effizient erwiesen. Handelt es sich jedoch beim Rechner um einen Server, welcher nur in die Kommandozeile bootet, wird sich der Speedgewinn sehr in Grenzen halten. Weiterhin profitieren auch SSDs nicht sehr stark vom Umsortieren der Daten, da die Latenzen bei SSDs in der Regel unabhängig von der Position der Dateien auf dem Datenträger sind. | ||
'''Achtung: Die Version 0.20 zerstörte noch komplette Dateisysteme, welche zu ext4-Systemen umgewandelt worden waren. Es wird generell geraten vor Installation und Verwendung der Tools ein Backup der auf der Partition befindlichen Dateien zu erstellen!''' | '''Achtung: Die Version 0.20 zerstörte noch komplette Dateisysteme, welche zu ext4-Systemen umgewandelt worden waren. Es wird generell geraten vor Installation und Verwendung der Tools ein Backup der auf der Partition befindlichen Dateien zu erstellen!''' | ||
==Installation== | ==Installation== | ||
e4rat | e4rat ist im [[AUR]] zu finden: {{Package AUR|e4rat}} | ||
== | ==Verwendung== | ||
===e4rat-collect=== | ===e4rat-collect=== | ||
Um e4rat-collect dazu zu bewegen, die Liste der beim Boot benötigten Dateien zu erstellen, ist es notwendig in der 'Kernel'-Zeile der Bootloader-Konfiguration ('''/boot/grub/menu.lst''' (grub legacy) oder '''/boot/grub/grub.cfg''' (grub2)) folgendes hinzuzufügen: | |||
<pre>init=/sbin/e4rat-collect</pre> | <pre>init=/sbin/e4rat-collect</pre> | ||
Dies muss nur ein einziges Mal getan werden, weshalb die Zeile nach dem ersten Boot wieder von der Eingabe bereinigt werden sollte. | |||
Upon booting e4rat-collect will watch your system for a default of 120 seconds. So if you boot, log into X, open your favourite browser and email client all within 2 minutes, every one of those activities is logged. To change the default of 120 seconds edit '''/etc/e4rat.conf'''. To manually stop e4rat-collect type: | Upon booting e4rat-collect will watch your system for a default of 120 seconds. So if you boot, log into X, open your favourite browser and email client all within 2 minutes, every one of those activities is logged. To change the default of 120 seconds edit '''/etc/e4rat.conf'''. To manually stop e4rat-collect type: |
Version vom 28. August 2011, 23:23 Uhr
e4rat steht für e4 "reduced access time" und ist ein Projekt von Andreas Rid und Gundolf Kiefer. Die Software setzt sich aus drei Teilen zusammen: e4rat-collect, e4rat-realloc und e4rat-preload.
Derzeit ist die Version 0.2.1 aktuell.
Arbeitsweise
Betrachtet man einen gewöhnlichen Bootvorgang, dann stellt man fest, dass weder der Prozessor noch die Festplatte währendessen vollkommen ausgelastet sind. e4rat sorgt für eine hohe Auslastung der Festplatte und der CPU während des Systemstarts und reduziert somit die Startzeit immens. Dabei müssen drei Schritte durchlaufen werden:
- e4rat-collect - Erstellt eine Liste der beim Start benötigten Dateien in einem festgelegtem Zeitraum (Standartwert sind 120 Sekunden. Dieser kann aber angepasst werden)
- e4rat-realloc - Umsortieren der gelisteten Daten direkt auf dem Datenträger
- e4rat-preload - Vorheriges Laden der Dateien
Wem es etwas nützt, und wem nicht
Beim booten in den X-Server auf typischen Einzeluser-Systemen hat sich e4rat schon oft als sehr effizient erwiesen. Handelt es sich jedoch beim Rechner um einen Server, welcher nur in die Kommandozeile bootet, wird sich der Speedgewinn sehr in Grenzen halten. Weiterhin profitieren auch SSDs nicht sehr stark vom Umsortieren der Daten, da die Latenzen bei SSDs in der Regel unabhängig von der Position der Dateien auf dem Datenträger sind.
Achtung: Die Version 0.20 zerstörte noch komplette Dateisysteme, welche zu ext4-Systemen umgewandelt worden waren. Es wird generell geraten vor Installation und Verwendung der Tools ein Backup der auf der Partition befindlichen Dateien zu erstellen!
Installation
e4rat ist im AUR zu finden: Vorlage:Package AUR
Verwendung
e4rat-collect
Um e4rat-collect dazu zu bewegen, die Liste der beim Boot benötigten Dateien zu erstellen, ist es notwendig in der 'Kernel'-Zeile der Bootloader-Konfiguration (/boot/grub/menu.lst (grub legacy) oder /boot/grub/grub.cfg (grub2)) folgendes hinzuzufügen:
init=/sbin/e4rat-collect
Dies muss nur ein einziges Mal getan werden, weshalb die Zeile nach dem ersten Boot wieder von der Eingabe bereinigt werden sollte.
Upon booting e4rat-collect will watch your system for a default of 120 seconds. So if you boot, log into X, open your favourite browser and email client all within 2 minutes, every one of those activities is logged. To change the default of 120 seconds edit /etc/e4rat.conf. To manually stop e4rat-collect type:
e4rat-collect -k
or
pkill e4rat-collect
Upon successful boot and after having waited the allotted time you should see the following file: /var/lib/e4rat/startup.log
Do not forget to remove the e4rat-collect command from your menu.lst or grub.cfg file (not necessary if you inserted it on the grub command line).
e4rat-realloc
For the reallocation process change to init 1
sudo init 1
Log in as root and run:
e4rat-realloc /var/lib/e4rat/startup.log
This can take a while depending on how many files you have your startup.log file.
e4rat-preload
Append the following permanently to your kernel line in your /boot/grub/menu.lst (grub legacy) or /boot/grub/grub.cfg (grub2) file:
init=/sbin/e4rat-preload
Reboot and enjoy.
e4rat with different init system
e4rat-collect defaults to replacing itself with /sbin/init upon completion. If you need to specify another PID 1, such as /bin/systemd, you can change this in /etc/e4rat.conf by setting the init parameter and uncommenting the line.
Bootchart
Note: this hasn't worked for and is still in development - any suggestions welcome
You will see a noticeable improvement but nothing can beat a nice Bootchart. Have it run before and after e4rat installation and gawk at the difference.
bootchart 0.9-9
This version automatically stops logging as soon as ?dm comes up. Supposedly the following overrides that and continues logging but it doesn't work for me:
To continue logging adjust your /etc/bootchartd.conf as follows:
AUTO_STOP_LOGGER="no"
To stop it manually type:
~# bootchartd stop
To run both e4rat-preload and bootchart append the following to your grub kernel line:
init=/sbin/bootchartd bootchart_init=/sbin/e4rat-preload
bootchart2
The /etc/bootchartd.conf of bootchart2 is set up differently and the line
EXIT_PROC="kdm_greet xterm konsole gnome-terminal metacity mutter compiz ldm icewm-session enlightenment"
can be adjusted or left empty for logging to be stopped manually.
While the above works, I have not managed to get bootchart2 to play along with e4rat-preload on the kernel line.
Tips and Tricks
If things don't work you may want to try the following.
startup.log is not created
- comment out auditd from your rc.conf
- check the following for any hints
dmesg | grep e4rat
- try to increase verbosity and loglevel to 31 in your e4rat.conf
e4rat erroneously reports an ext2 files system
- add the following to the kernel line in your grub.cfg or menu.lst
rootfstype=ext4