Neues Ubuntu für alte PCs optimieren
Auffällig war zunächst die ungewöhnlich lange Zeit vom Login bis zum kompletten Aufbau des fertig benutzbaren Desktops. Da vergingen schon mal 1-2 Minuten unter heftigem Rattern der Festplatte. Kaum lag Gnome dann fertig vor mir, war der Hauptspeicher auch schon zur Gänze belegt. Sogar die Swap-Partition war schon angeknabbert. Dabei hatte ich noch kein einziges Programm gestartet! Sobald dann auch nur ein bißchen Bewegung ins System kam (Firefox öffnen, im Terminal als root anmelden - egal was), gabs nur mehr Ein- und Auslagern auf der Platte. Ein vernünftiges Arbeiten war nicht mehr möglich.
Chaos. Verzweiflung. Tränen.
Dann sind mir zwei Dinge eingefallen:
- Bei einem der letzten Updates wurde das Paket ureadahead neu hinzugefügt.
- Ich habe hier vor etwas mehr als einem Jahr einmal etwas über das Beschleunigen des Login-Vorgangs durch Vorausladen oft benötigter Dateien durch GDM geschrieben.
Mein kleines blondes Hirn hat diese beiden Informationen mit dem sagenhaft vollgepferchten Hauptspeicher und der ständig ratternden Festplatte kombiniert und festgestellt: Daran liegts! Tatsächlich, daran lags auch.
Zwar meint ureadahead es gut und automatisiert den Trick des Vorausladens von Dateien, den ich selbst beschrieben habe. Allerdings wird ein System dadurch nur dann wirklich schneller, wenn nicht ein Flaschenhals auftaucht, mit dem die Ubuntu-Designer nicht gerechnet haben: eine langsame Festplatte und ungewöhnlich wenig Hauptspeicher. Genau das ist hier passiert. Wegen der langsamen Festplatte hat das Vorausladen der Dateien so lange gedauert, daß es jenseits jeder Schmerzgrenze lag. Gleichzeitig wurde damit der ohnehin knapp bemessene Hauptspeicher so sehr belastet, daß das System auf die Swap-Partition ausweichen mußte. Wer schon einmal erlebt hat was passiert, wenn Daten gelesen und gleichzeitig Swap-Speicher auf der gleichen Platte befüllt wird, der weiß, was ich mit „langsam“ meine.
Die Lösung ist ziemlich trivial. Verantwortlich für das Vorausladen sind folgende Dateien:
- /etc/init/ureadahead.conf
- /etc/init/ureadahead-other.conf
- /var/lib/ureadahead/pack
Die ersten beiden starten das ureadahead-Service. Das verhindert man, indem man (als root) die Endung .conf in irgendetwas anderes ändert. Bei mir heißen die beiden Dateien jetzt ureadahead.disabled und ureadahead-other.disabled. Die letzte Datei, pack, enthält alles, was ureadahead so in den Speicher laden soll. Eigentlich sollte es nicht notwendig sein, aber sicherheitshalber habe ich diese Datei auch umbenannt.
Mein persönlicher Eindruck ist, daß Ubuntu auf diesem einen Rechner jetzt noch wesentlich schneller ist, als es vor dem unglückseligen Update mit ureadahead jemals war. Das ist durchaus möglich: Ureadahead hat den Dienst sreadahead ersetzt, der in etwa den gleichen Zweck hatte, technisch aber anders gearbeitet hat. Ich gehe davon aus, daß auch sreadahead auf diesem einen PC hier unschöne Nebenwirkungen hatte, die mir einfach nicht weiter aufgefallen sind. Immerhin ist der Rechner so alt, daß man sich über ein bißchen Ruckeln beim Hochfahren nicht wundert. Damit ist aber jetzt Schluß. Nur 70 Sekunden vom Einschalt-Knopf bis zum letzten Ruckeln der Festplatte nach dem Laden des Desktops, das ist für einen sieben Jahre alten Rechner nicht so schlecht. ;)
Aber warum der ganze Stress, ich wurde von der Geisel Vista befreit.
Durch Win 7.
Kaum zu glauben, aber irgendwie dürfte Microsoft doch einmal ein akzeptables Betriebssystem gelungen sein.
Ich steh drauf :-))
Für das, was ich damit tu, reicht es mir völlig. Nur sind halt weder Vista noch Windows 7 noch sonst irgendeine Version quelloffene, freie Software. Da kanns noch so gut sein … bringt alles nix. ;)
(Außerdem hupfst ma das vor, wie Du irgendeine aktuelle Windows-Version auf einem Rechner mit 256MB RAM installierst.)
Ubuntu: