Perché un sistema operativo installato su una chiavetta USB è molto più lento di un sistema operativo live che esegue la stessa chiavetta USB?


24

Eseguire Fedora 26 in un ambiente live mi sembra quasi una velocità nativa, ma quando installo il sistema operativo su una chiavetta USB e avvio in esso, tutto richiede un'eternità all'avvio. Una volta che le cose iniziano sono generalmente molto più veloci ma è praticamente inutilizzabile.

È considerato normale?


4
Non so. Un'installazione dal vivo del sistema operativo potrebbe tentare di fare il più possibile sui file system montati sulla memoria, mentre un'installazione normale proverebbe a utilizzare il disco più lento? Mi sembra ragionevole.
Kusalananda

2
Non è una risposta alla domanda, ma il problema si risolve con le unità USB3 purché si disponga di un nuovo sistema operativo sufficiente per accedere in modo efficiente a USB3. Ho chiavette USB3 che sono veloci quanto l'eMMC interno (non molto peggio degli SSD SATA di fascia bassa).
R ..

Può confermare che il problema scompare con unità USB più veloci. Ho ordinato una chiavetta USB 3.0 di nuova marca e le cose sembrano quasi native ora. Credo che sto ancora usando le porte USB 2.0, quindi immagino che se stessi usando le porte 3.0, mi sentirei veloce almeno quanto il mio HDD collegato tramite SATA.
Hermancain,

Risposte:


37

Ha a che fare con il modo in cui funzionano.

Per un'installazione regolare su un'unità flash, sei limitato dalla larghezza di banda USB, quindi a meno che tu non abbia un buon dispositivo USB 3.0, sei bloccato a circa 20 MB / s (che equivale ai dischi rigidi tradizionali della fine degli anni '90) . Tutte le modifiche vengono scritte anche sul dispositivo, quindi stai condividendo quella larghezza di banda USB per letture e scritture.

Un sistema Live tuttavia funziona in modo leggermente diverso. Alla base, un sistema Live è costituito da un'immagine di sistema di base (di solito un'immagine di SquashFS, poiché è buona per l'efficienza dello spazio) e da un overlay mount per intercettare le modifiche e mantenerle nella RAM. Esistono due modi specifici in cui questo viene gestito:

  1. L'immagine del sistema di base viene caricata nella RAM all'avvio e da lì in poi tutto viene eseguito.
  2. L'immagine del sistema di base viene mantenuta sull'unità flash, ma alcune parti vengono precaricate nella cache.

Nel primo caso, puoi effettivamente correre più veloce della velocità nativa (perché non accedi mai a qualcosa di più lento della RAM), ma l'avvio richiede molto tempo (perché stai copiando centinaia di MB di dati nella RAM. Nel secondo caso, non sarai abbastanza veloce come la velocità nativa, ma poiché non scrivi mai nulla sull'unità falsh, non perdi quasi mai i dati dalla cache e quindi corri anche abbastanza veloce.


3
Supponendo che la tua RAM (gratuita, disponibile per la memorizzazione nella cache) sia più grande dell'immagine del sistema operativo (il che è un presupposto abbastanza ragionevole), la seconda opzione finirà essenzialmente per essere una versione lenta della prima.
Jörg W Mittag,

In realtà con un'unità USB 2.0 abbastanza buona è possibile ottenere fino a 30 MB / s (metà della larghezza di banda teorica USB 2.0). Ho una di queste unità.
Ruslan,

@ JörgWMittag Praticamente, ma non ho visto molte immagini live configurate in quel modo, probabilmente perché la prima opzione di solito sarà più efficiente se hai un dispositivo particolarmente lento.
Austin Hemmelgarn,

@Ruslan Un buon punto, sebbene da quello che ho visto anche se tali unità sono ragionevolmente rare (specialmente con USB 3.0 che diventa la norma, non c'è molto incentivo a creare unità USB 2.0 di fascia alta).
Austin Hemmelgarn,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.