Hallo,
ich überlege mir ne SSHD zu kaufen, da mir mein Laptop (Lenovo Thinkpad
SL510) so zu langsam ist. Die meisten SSHDs haben ja 8 GB SSD und 500 GB
HDD.
Damit mir die Festplatte also überhaupt etwas bringt, müssten doch alle
Dateien, auf die ich oft lesend zugreife bei max. 8 GB liegen, oder?
Gibt es da irgendein Programm für Linux (Xubuntu), das alle
Festplattenaktivitäten aufzeichnet?
Ich benutzte meinen Laptop hauptsächlich für Internet Android Studio
Mikrocontroller und Musik hören. Hier habe ich ca. 6 GB Daten an
Projekten, also nur Code/usw ohne die Programme (z.B. Android Studio).
Was meint ihr, bringt ne SSHD mir was? Ich werde nie die ganzen 6 GB auf
einmal "brauchen", aber das System und die Programme muss man ja auch
dazu zählen (Android Studio/SDK/NDK brauchen zsm ca. 20 GB) ...
Danke schon mal^^
Hallo Jonathan,
Jonathan K. schrieb:> ich überlege mir ne SSHD zu kaufen, da mir mein Laptop (Lenovo Thinkpad> SL510) so zu langsam ist. Die meisten SSHDs haben ja 8 GB SSD und 500 GB> HDD.
Zunächst einmal wäre es natürlich sinnvoll, herauszufinden, ob es denn
wirklich die Festplatte ist, die das System so langsam macht. Wäre doch
blöd, jetzt eine SSHD einzubauen um hinterher herauszufinden, daß das
System so langsam ist, weil es nicht genug RAM hat und deswegen ständig
swappt, oder?
Deswegen ist die erste Frage: was genau ist da "zu langsam"? Das Starten
von Programmen? Das Aufrufen von Webseiten? Das Öffnen von Dateien?
Um solche Dinge herauszufinden, gibt es unter Linux eine ganze Reihe von
Werkzeugen. Allen voran ist hier sicherlich das Programm top(1) zu
nennen. Es gibt zunächst einen Header aus, der die Belastung des
Systems, der CPU und des Arbeitsspeichers anzeigt, und danach eine
Prozeßliste. Die Daten werden immer wieder aktualisiert, bis Du das
Programm mit "q" beendest.
Ansonsten gibt es da die Werkzeuge aus den Paketen sysstat und procps,
wie zum Beispiel vmstat(8), iostat(1), memstat(1) und mpstat(1).
Außerdem enthält das sysstat-Paket den "System Activity Reporter", kurz
sar(1). Dieses Programm liest in regelmäßigen Abständen (in der Regel
mindestens eine Minute, standardmäßig alle fünf Minuten) die über 400
Performance-Counter des Linux-Kernels aus und speichert diese ab, so daß
man im Nachhinein genau herausfinden kann, wie die Systembelastung zu
einem bestimmten Zeitpunkt gewesen ist.
> Damit mir die Festplatte also überhaupt etwas bringt, müssten doch alle> Dateien, auf die ich oft lesend zugreife bei max. 8 GB liegen, oder?> Gibt es da irgendein Programm für Linux (Xubuntu), das alle> Festplattenaktivitäten aufzeichnet?
Nun, wenn Dein Dateisystem nicht gerade mit der Mount-Option "noatime"
gemountet ist, wird bei jedem Lesezugriff auf eine Datei die access time
(atime) gesetzt, bei jedem Schreibzugriff auf den Inhalt der Datei die
modification time (mtime) und bei jeder Änderung der Metainformationen
einer Datei (Dateiname, Zugriffsrechte, Besitzer) die change time
(ctime). Diese Zeitstempel kannst Du Dir für jede Datei mit dem Programm
stat(1) anschauen. Mit dem Befehl
1
find ~ -type f -print0 | xargs -0 -- stat --printf='%x %n\n' | sort
findest Du zum Beispiel alle Dateien (-type f) in Deinem Homeverzeichnis
(~), gibst ihre atime (%x), ihre Größe in Bytes (%s) und ihren
Dateinamen (%n) aus und sortierst dann die Ausgabe nach der atime.
> Ich benutzte meinen Laptop hauptsächlich für Internet / Android Studio /> Mikrocontroller und Musik hören. Hier habe ich ca. 6 GB Daten an> Projekten, also nur Code/usw ohne die Programme (z.B. Android Studio).> Was meint ihr, bringt ne SSHD mir was? Ich werde nie die ganzen 6 GB auf> einmal "brauchen", aber das System und die Programme muss man ja auch> dazu zählen (Android Studio/SDK/NDK brauchen zsm ca. 20 GB) ...
Wenn Du ohnehin nur 6 GB Daten hast, stellt sich natürlich die Frage,
warum Du 500 GB Festplattenplatz haben möchtest. Eine normale SSD mit
128 GB kostet in etwa dasselbe wie eine 500 GB SSHD und ist dabei
deutlich performanter -- vor allem bei wahlfreien Zugriffen.
Nachdem ich aber mal auf die von Dir benutzten Programme geschaut habe,
würde ich grundsätzlich auf ein Problem mit zu wenig RAM tippen. In der
Wikipedia steht zu "Android Studio": minimal 2 GB RAM, empfohlen 4. Dein
System hat aber nur 3 GB... und dann willst Du darauf gleichzeitig noch
darauf Surfen und E-Mailen, da wird die Sache dann vermutlich eng. Und
wenn Du dann statt eines ressourcenschonenden Kommandozeilenplayers wie
mp3blaster ein GUI-Programm mit allerlei Komfortfunktionen etc. benutzt,
... you get the idea.
3 GB RAM sind auch für ein schlankes Desktop-System wie XFCE (Xubuntu)
oder LXDE (Lubuntu) nicht gerade üppig, vorsichtig gesagt. Außerdem habe
ich bereits mehrmals die Erfahrung gemacht, daß ein Linux-System auf
mehr RAM deutlich performanter reagiert als auf eine schnellere CPU; das
ist unter Windows meistens andersherum und daher für Umsteiger etwas
ungewohnt.
Ob meine Vermutung, daß das System zu wenig RAM hat, zutrifft, zeigt Dir
aber bereits das oben erwähnte Programm top(1). Das gibt im Header eine
Zeile "Swap" aus und dort als zweite Zahl "used"; wenn davor keine "0"
steht, swappt das System, lagert also Inhalte vom Arbeitsspeicher auf
die Festplatte aus, weil der physikalische Arbeitsspeicher nicht
ausreicht. Dann wäre der erste und gewinnbringendste Schritt zur
Verbesserung der Performance natürlich eine Erweiterung des
Hauptspeichers.
Auch sonst ist mehr RAM allerdings hilfreich, weil Linux (und andere
moderne Betriebssysteme) mit Dateisystempuffern arbeiten. Wenn Du eine
Datei öffnest, wird sie zunächst einmal nur in den Dateisystempuffer des
Arbeitsspeichers geladen (in top(1) in der Zeile "Mem" die letzte Zahl,
"buffers") und auch dort bearbeitet. Auch wenn Du eine Datei
abspeicherst, wird sie zunächst einmal nur in den Arbeitsspeicher
geschrieben und erst später vom Kernel im Hintergrund auf die Festplatte
synchronisiert (erzwingen kann man das mit dem Befehl "sync(1)"). Das
beschleunigt Dateizugriffe ganz erheblich, funktioniert aber natürlich
nur, wenn genügend freier Arbeitsspeicher vorhanden ist.
Wie Du vielleicht bereits an der Vielzahl der genannten Ansätze und
Programme erkennen kannst, ist das Thema Performanceoptimierung (nicht
nur) unter Linux eine Wissenschaft für sich. Der größte Fehler, den man
dabei machen kann, ist, "ins Blaue hinein" zu optimieren, ohne vorher
analysiert zu haben, wo der Flaschenhals tatsächlich ist.
Noch ein kleiner Tipp zum Abschluß: selbst wenn der Hersteller des
Laptops in seinem Handbuch behauptet, man könne maximal n GB RAM
einbauen, heißt das nicht, daß das System nicht auch mit mehr RAM
umgehen kann. Ich selbst habe zum Beispiel ein altes ASUS-Laptop, das
laut Hersteller maximal 1 GB RAM vertragen kann. Trotzdem läuft das
Gerät schon seit vielen Jahren mit 1,5 GB RAM völlig problemlos.
Ach, noch ein allerletzter Tipp: wenn Du den Arbeitsspeicher aufrüstest
solltest Du den vorhandenen herausnehmen und den schnellsten Speicher
einbauen, den Du bekommen und das System verkraften kann. In meinem Fall
habe ich einen äußerst kulanten Hardware-Händler (hiq24.de), der mir im
Zweifelsfall Module zum Testen leihweise überläßt oder mich auch mal in
seinen Geschäftsräumen ausprobieren läßt. Dazu gibt es auf Ubuntu-CDs
üblicherweise das Programm "memtest86" oder "memtest86+", das den
Speicher überprüft und voll belastet.
HTH und liebe Grüße,
Karl
Jonathan K. schrieb:> Gibt es da irgendein Programm für Linux (Xubuntu), das alle> Festplattenaktivitäten aufzeichnet?
Generell unter Unix:
o sar (plus Archiv-Dateien in /var/log/sa)
o iostat -x
Wie schon erwaehnt, ist Performance-Tuning eine Wissenschaft fuer sich.
Die Daten muss man richtig lesen koennen.
Gaengiges Beispiel auf einem Server:
Load Average high verursacht durch:
IO wait hoch
Warum verbraet der IO scheduler soviel CPU time ?
o Falscher IO scheduler fuer die Anwendung (CFQ statt deadline)
o SAN-Backend hat ein Problem (lahme Storage-Box)
o Disk(s) ist nicht oder falsch aligned (63 Sektoren Offset statt 2048)
o undundund
Karl Käfer schrieb:> Zunächst einmal wäre es natürlich sinnvoll, herauszufinden, ob es denn> wirklich die Festplatte ist, die das System so langsam macht. Wäre doch> blöd, jetzt eine SSHD einzubauen um hinterher herauszufinden, daß das> System so langsam ist, weil es nicht genug RAM hat und deswegen ständig> swappt, oder?
Das ist mir schon klar^^ Habe glaub original 2GB RAM drin, hatte mal auf
6GB aufgerüstet. Meist werden ca. 2GB RAM "benutzt", Swap nichts (oder
manchmal hab ich da 20MB drin, aber das sollte ja net stören).
Hab momentan ne SSD ausgeliehen und mein Laptop ist nun um einiges
schneller ... booten in 3 Sekunden sattt einer Minute, Programme starten
sofort .. läuft insgesamt viel flüssiger ... und und und -> damit sollte
die Ursache klar sein und die SS(H)D nicht "ins Blaue rein optimiert"
sein ;)
Karl Käfer schrieb:> Auch sonst ist mehr RAM allerdings hilfreich, weil Linux (und andere> moderne Betriebssysteme) mit Dateisystempuffern arbeiten. Wenn Du eine> Datei öffnest, wird sie zunächst einmal nur in den Dateisystempuffer des> Arbeitsspeichers geladen (in top(1) in der Zeile "Mem" die letzte Zahl,> "buffers") und auch dort bearbeitet. Auch wenn Du eine Datei> abspeicherst, wird sie zunächst einmal nur in den Arbeitsspeicher> geschrieben und erst später vom Kernel im Hintergrund auf die Festplatte> synchronisiert (erzwingen kann man das mit dem Befehl "sync(1)"). Das> beschleunigt Dateizugriffe ganz erheblich, funktioniert aber natürlich> nur, wenn genügend freier Arbeitsspeicher vorhanden ist.
Durch nen Bug im Chrome war mal innerhalb von ca. ner halben Minute der
komplette RAM + Swap voll -> da ging fast nix mehr. Z.B. Alt+F1 ging
noch, aber es hat locker ne Minute gedauert, bis da überhaupt was
passiert ist.
Karl Käfer schrieb:> Wenn Du ohnehin nur 6 GB Daten hast, stellt sich natürlich die Frage,> warum Du 500 GB Festplattenplatz haben möchtest. Eine normale SSD mit> 128 GB kostet in etwa dasselbe wie eine 500 GB SSHD und ist dabei> deutlich performanter -- vor allem bei wahlfreien Zugriffen.
500GB war nur ein Beispiel, hatte drunter nix gefunden. Nur 500GB, 1TB
und 2TB. Eigentlich hast du da recht, aber momentan hab ich insgesamt
ca. 80GB benutzt, vor ner Woche wo ich noch allen Möglichen Müll drauf
hatte waren es noch ca. 150GB. Ich will halt vermeiden, grad so an der
Grenze der Festplatte zu sein, mit der Zeit sammeln sich ja auch wieder
ein Haufen Daten an .. vllt müsste ich einfach nur immer direkt
unnötigen Datenmüll aussortieren ..
Werde mal die vorgeschlagenen Befehle ausprobieren und gucken, was bei
raus kommt, aber ich denke jetzt auch, dass eher ne 128GB SSD besser ist
- mal gucken.