¿Por qué un SO instalado en una memoria USB es mucho más lento que un SO en vivo que se ejecuta en la misma memoria USB?

24

Ejecutar Fedora 26 en un entorno en vivo casi me parece una velocidad nativa, pero cuando instalo el sistema operativo en una unidad de disco USB y arranco, todo tarda una eternidad en iniciarse. Una vez que las cosas comienzan, generalmente son mucho más rápidas, pero prácticamente no se pueden usar.

¿Se considera esto normal?

hermancain
fuente
44
No se. Una instalación de sistema operativo en vivo puede intentar hacer todo lo posible en sistemas de archivos montados en memoria, mientras que una instalación normal trataría de usar el disco más lento. A mí me parece razonable.
Kusalananda
2
No es una respuesta a la pregunta, pero el problema desaparece con las unidades USB3 siempre que tenga un sistema operativo lo suficientemente nuevo como para acceder a USB3 de manera eficiente. Tengo unidades de memoria USB3 que son tan rápidas como las eMMC internas (no mucho peores que las SSD SATA de gama baja).
R ..
Puede confirmar que el problema desaparece con unidades USB más rápidas. Pedí una nueva unidad USB 3.0 de marca y las cosas se sienten casi nativas ahora. Sin embargo, creo que todavía estoy usando puertos USB 2.0, así que imagino que si estuviera usando puertos 3.0 se sentiría al menos tan rápido como mi HDD conectado a través de SATA.
hermancain

Respuestas:

37

Tiene que ver con cómo operan.

Para una instalación regular en una unidad flash, está limitado por el ancho de banda USB, por lo que, a menos que tenga un buen dispositivo USB 3.0, está atascado a aproximadamente 20 MB / s (que es equivalente a los discos duros tradicionales de finales de los 90) . Todos los cambios también se escriben en el dispositivo, por lo que está compartiendo ese ancho de banda USB para lecturas y escrituras.

Sin embargo, un sistema en vivo funciona de manera algo diferente. En esencia, un sistema Live consiste en una imagen del sistema base (generalmente una imagen SquashFS, ya que es buena para la eficiencia del espacio) y un montaje de superposición además de eso para interceptar los cambios y mantenerlos en la RAM. Hay dos formas específicas de manejar esto:

  1. La imagen del sistema base se carga en la RAM al inicio, y todo se ejecuta desde allí después.
  2. La imagen del sistema base se mantiene en la unidad flash, pero ciertas partes se precargan en la memoria caché.

En el primer caso, puede ejecutar más rápido que la velocidad nativa (porque nunca accede a nada más lento que la RAM), pero su inicio lleva mucho tiempo (porque está copiando cientos de MB de datos en la RAM. En el segundo caso, no va a ser tan rápido como la velocidad nativa, pero como nunca escribe nada en la unidad falsa, casi nunca elimina los datos de la memoria caché y, por lo tanto, también se ejecuta razonablemente rápido.

Austin Hemmelgarn
fuente
3
Suponiendo que su RAM (gratuita, disponible para el almacenamiento en caché) es más grande que la imagen del sistema operativo (que es una suposición bastante razonable), la segunda opción esencialmente terminará siendo una versión perezosa de la primera.
Jörg W Mittag
En realidad, con una unidad USB 2.0 lo suficientemente buena, puede obtener hasta 30 MB / s (la mitad del ancho de banda teórico de USB 2.0). Tengo uno de esos discos.
Ruslan
@ JörgWMittag Bastante, pero no he visto muchas imágenes en vivo configuradas así, probablemente porque la primera opción generalmente será más eficiente si tienes un dispositivo particularmente lento.
Austin Hemmelgarn
@Ruslan Buen punto, aunque por lo que he visto, aunque tales unidades son razonablemente raras (especialmente con USB 3.0 convirtiéndose en la norma, no hay muchos incentivos para hacer unidades USB 2.0 de gama alta).
Austin Hemmelgarn