Почему ОС, установленная на флэш-накопителе USB, намного медленнее, чем живая ОС, работающая на том же флэш-накопителе?

24

Запуск Fedora 26 в реальной среде для меня почти ощущается как родная скорость, но когда я устанавливаю ОС на флэш-накопитель и загружаюсь в нее, все запускается навсегда. Как только вещи начинаются, они, как правило, гораздо быстрее, но это практически невозможно.

Это считается нормальным?

Херман Кейн
источник
4
Не знаю. Инсталляция работающей ОС может попытаться сделать как можно больше в файловых системах, смонтированных в памяти, тогда как при обычной установке попытается использовать более медленный диск? Звучит разумно для меня.
Кусалананда
2
Не ответ на вопрос, но проблема исчезнет с накопителями USB3, если у вас достаточно новая ОС, чтобы эффективно подключаться к USB3. У меня есть флешки USB3, которые работают так же быстро, как и внутренние eMMC (не намного хуже, чем у младших SATA SSD).
R ..
Можно подтвердить, что проблема исчезает с более быстрыми USB-накопителями. Я заказал флэш-накопитель USB 3.0 новой фирменной марки, и теперь все кажется почти родным. Я полагаю, что я все еще использую порты USB 2.0, поэтому я полагаю, что если бы я использовал порты 3.0, он чувствовал бы себя так же быстро, как мой жесткий диск, подключенный через SATA.
hermancain

Ответы:

37

Это связано с тем, как они работают.

Для обычной установки на флэш-диск вы ограничены пропускной способностью USB, поэтому, если у вас нет хорошего устройства USB 3.0, вы застряли на скорости около 20 МБ / с (что эквивалентно традиционным жестким дискам конца 90-х) , Все изменения также записываются на устройство, поэтому вы используете эту пропускную способность USB для чтения и записи.

Однако система Live работает несколько иначе. По своей сути, система Live состоит из образа базовой системы (обычно это образ SquashFS, так как он полезен для экономии места) и накладного монтирования поверх этого для перехвата изменений и хранения их в оперативной памяти. Есть два конкретных способа это сделать:

  1. Образ базовой системы загружается в ОЗУ при запуске, и все запускается оттуда впоследствии.
  2. Образ базовой системы хранится на флэш-диске, но некоторые его части предварительно загружаются в кэш.

В первом случае вы на самом деле можете работать быстрее, чем собственная скорость (потому что вы никогда не получаете доступ к чему-либо более медленному, чем к ОЗУ), но ваш запуск занимает много времени (потому что вы копируете сотни МБ данных в ОЗУ. Во втором случае, вы не будете работать так же быстро, как собственная скорость, но, поскольку вы никогда ничего не записываете на фальшивый диск, вы также почти никогда не удаляете данные из кэша и, следовательно, тоже работаете достаточно быстро.

Остин Хеммелгарн
источник
3
Предполагая, что ваша (свободная, доступная для кеширования) оперативная память больше, чем образ ОС (что является довольно разумным предположением), второй вариант по сути окажется лениво загруженной версией первого.
Йорг Миттаг
На самом деле с достаточно хорошим USB 2.0 накопителем вы можете получить до 30 МБ / с (половина теоретической пропускной способности USB 2.0). У меня есть один такой диск.
Руслан
@ JörgWMittag В значительной степени, но я не видел много живых изображений, настроенных таким образом, вероятно, потому что первый вариант обычно будет более эффективным, если у вас особенно медленное устройство.
Остин Хеммельгарн
@ Руслан Хорошая точка зрения, хотя, как я видел, такие диски встречаются довольно редко (особенно когда стандарт USB 3.0 становится нормой, нет особого стимула для создания высокопроизводительных дисков USB 2.0).
Остин Хеммельгарн