Warum ist ein auf einem USB-Stick installiertes Betriebssystem so viel langsamer als ein Live-Betriebssystem, das auf demselben Stick ausgeführt wird?

24

Das Ausführen von Fedora 26 in einer Live-Umgebung fühlt sich für mich fast wie eine native Geschwindigkeit an, aber wenn ich das Betriebssystem auf einem USB-Stick installiere und hochfahre, dauert es ewig, bis es gestartet wird. Sobald die Dinge anfangen, sind sie in der Regel viel schneller, aber es ist praktisch unbrauchbar.

Wird das als normal angesehen?

Hermancain
quelle
4
Ich weiß nicht. Bei einer Live-Installation des Betriebssystems wird möglicherweise versucht, auf speichergebundenen Dateisystemen so viel wie möglich zu tun, während bei einer normalen Installation versucht wird, die langsamere Festplatte zu verwenden. Hört sich für mich vernünftig an.
Kusalananda
2
Keine Antwort auf die Frage, aber das Problem ist bei USB3-Laufwerken behoben, solange Sie ein Betriebssystem haben, das neu genug ist, um effizient auf USB3 zugreifen zu können. Ich habe USB3-Sticks, die genauso schnell sind wie der interne eMMC (nicht viel schlimmer als SATA-SSDs der unteren Preisklasse).
R ..
Kann bestätigen, dass das Problem mit schnelleren USB-Laufwerken behoben ist. Ich habe ein neues USB 3.0-USB-Stick der Marke bestellt, und jetzt fühlen sich die Dinge fast wie neu an. Ich glaube, dass ich immer noch USB 2.0-Anschlüsse verwende. Wenn ich also 3.0-Anschlüsse verwende, fühlt es sich mindestens so schnell an, als wäre meine Festplatte über SATA verbunden.
Hermancain

Antworten:

37

Es hat damit zu tun, wie sie funktionieren.

Bei einer regulären Installation auf einem Flash-Laufwerk ist die USB-Bandbreite begrenzt. Wenn Sie also kein gutes USB 3.0-Gerät haben, bleiben Sie bei etwa 20 MB / s hängen (das entspricht herkömmlichen Festplatten aus den späten 90er Jahren). . Alle Änderungen werden auch auf das Gerät geschrieben, sodass Sie diese USB-Bandbreite für Lese- und Schreibvorgänge freigeben.

Ein Live-System funktioniert jedoch etwas anders. Im Kern besteht ein Live-System aus einem Basissystem-Image (normalerweise ein SquashFS-Image, da es für die Speichereffizienz gut ist) und einem Overlay-Mount, um Änderungen abzufangen und im RAM zu speichern. Es gibt zwei spezielle Arten, wie dies gehandhabt wird:

  1. Das Basissystem-Image wird beim Start in den Arbeitsspeicher geladen und anschließend wird alles ausgeführt.
  2. Das Basissystem-Image wird auf dem Flash-Laufwerk gespeichert, aber bestimmte Teile davon werden in den Cache geladen.

Im ersten Fall können Sie schneller als die native Geschwindigkeit laufen (weil Sie nie auf etwas langsameres als RAM zugreifen), aber Ihr Start dauert lange (weil Sie Hunderte von MB Daten in den RAM kopieren). Sie werden nicht ganz so schnell sein wie die native Geschwindigkeit, aber weil Sie nie etwas auf das falsh-Laufwerk schreiben, löschen Sie auch fast nie Daten aus dem Cache und laufen daher auch einigermaßen schnell.

Austin Hemmelgarn
quelle
3
Angenommen, Ihr (freier, zum Zwischenspeichern verfügbarer) RAM ist größer als das Betriebssystem-Image (was eine ziemlich vernünftige Annahme ist), ist die zweite Option im Wesentlichen eine verzögert geladene Version der ersten.
Jörg W Mittag
Tatsächlich können Sie mit einem ausreichend guten USB 2.0-Laufwerk bis zu 30 MB / s erreichen (die Hälfte der theoretischen USB 2.0-Bandbreite). Ich habe einen solchen Antrieb.
Ruslan
@ JörgWMittag Ziemlich viel, aber ich habe nicht viele so konfigurierte Live-Bilder gesehen, wahrscheinlich, weil die erste Option normalerweise effizienter ist, wenn Sie ein besonders langsames Gerät haben.
Austin Hemmelgarn
@ Ruslan Guter Punkt, obwohl, wie ich gesehen habe, solche Laufwerke einigermaßen selten sind (vor allem, wenn USB 3.0 zur Norm wird, gibt es keinen großen Anreiz, High-End-USB 2.0-Laufwerke herzustellen).
Austin Hemmelgarn