Pourquoi un système d'exploitation installé sur une clé USB est-il tellement plus lent qu'un système d'exploitation vivant fonctionnant sur la même clé USB?

24

Exécuter Fedora 26 dans un environnement en direct me semble presque comme une vitesse native, mais lorsque j'installe le système d'exploitation sur une clé USB et que je démarre dessus, tout prend une éternité au démarrage. Une fois que les choses commencent, elles sont généralement beaucoup plus rapides, mais elles sont pratiquement inutilisables.

Est-ce considéré comme normal?

Hermancain
la source
4
Je ne sais pas. Une installation de système d'exploitation en direct peut essayer d'en faire autant que possible sur des systèmes de fichiers montés en mémoire, alors qu'une installation normale essaierait d'utiliser le disque plus lent? Cela me semble raisonnable.
Kusalananda
2
Pas une réponse à la question, mais le problème disparaît avec les lecteurs USB3 tant que vous avez un système d'exploitation suffisamment nouveau pour qu'il accède efficacement à USB3. J'ai des clés USB3 qui sont aussi rapides que les eMMC internes (pas bien pire que les SSD SATA bas de gamme).
R ..
Peut confirmer que le problème disparaît avec des lecteurs USB plus rapides. J'ai commandé une nouvelle clé USB 3.0 de marque et les choses semblent presque natives maintenant. Je pense que j'utilise toujours des ports USB 2.0, donc j'imagine que si j'utilisais des ports 3.0, cela serait au moins aussi rapide que mon disque dur connecté via SATA.
hermancain

Réponses:

37

Cela a à voir avec la façon dont ils fonctionnent.

Pour une installation régulière sur un lecteur flash, vous êtes limité par la bande passante USB, donc à moins d'avoir un bon périphérique USB 3.0, vous êtes bloqué à environ 20 Mo / s (ce qui équivaut aux disques durs traditionnels de la fin des années 90 environ) . Toutes les modifications sont également écrites sur l'appareil, vous partagez donc cette bande passante USB pour les lectures et les écritures.

Un système Live fonctionne cependant quelque peu différemment. À la base, un système Live se compose d'une image de système de base (généralement une image SquashFS, car elle est bonne pour l'efficacité de l'espace) et d'un support de superposition en plus pour intercepter les modifications et les conserver dans la RAM. Il existe deux manières spécifiques de gérer cela:

  1. L'image du système de base est chargée dans la RAM au démarrage et tout s'exécute ensuite.
  2. L'image du système de base est conservée sur le lecteur flash, mais certaines parties de celle-ci sont préchargées dans le cache.

Dans le premier cas, vous pouvez réellement courir plus vite que la vitesse native (car vous n'accédez jamais à plus lentement que la RAM), mais votre démarrage prend beaucoup de temps (parce que vous copiez des centaines de Mo de données dans la RAM. Dans le second cas, vous n'allez pas être aussi rapide que la vitesse native, mais comme vous n'écrivez jamais rien sur le faux lecteur, vous ne supprimez presque jamais les données du cache, et par conséquent, vous exécutez également assez rapidement.

Austin Hemmelgarn
la source
3
En supposant que votre RAM (gratuite, disponible pour la mise en cache) est plus grande que l'image du système d'exploitation (ce qui est une hypothèse assez raisonnable), la deuxième option finira essentiellement par être une version chargée paresseuse de la première.
Jörg W Mittag
En fait, avec un lecteur USB 2.0 suffisamment bon, vous pouvez obtenir jusqu'à 30 Mo / s (la moitié de la bande passante USB 2.0 théorique). J'ai un tel disque.
Ruslan
@ JörgWMittag À peu près, mais je n'ai pas vu beaucoup d'images Live configurées comme ça, probablement parce que la première option sera généralement plus efficace si vous avez un appareil particulièrement lent.
Austin Hemmelgarn
@Ruslan Bon point, bien que d'après ce que j'ai vu, de tels disques sont assez rares (en particulier avec l'USB 3.0 devenant la norme, il n'y a pas beaucoup d'incitation à faire des lecteurs USB 2.0 haut de gamme).
Austin Hemmelgarn