为什么在USB拇指驱动器上安装的操作系统比在相同拇指驱动器上运行的实时操作系统要慢得多?


24

在实时环境中运行Fedora 26对我而言似乎就像是本机速度,但是当我将操作系统安装到拇指驱动器并引导到它时,一切都将永远需要启动。一旦开始,它们通常会快得多,但是实际上是不可用的。

这算正常吗?


4
我不知道。实时操作系统安装可能会尝试在内存安装的文件系统上执行尽可能多的操作,而普通安装会尝试使用速度较慢的磁盘?对我来说听起来很合理。
库沙兰丹

2
这不是问题的答案,但是只要您拥有足够新的操作系统即可有效访问USB3,USB3驱动器的问题就会消失。我有USB3拇指驱动器,其速度与内部eMMC一样快(不比低端SATA SSD差很多)。
R.,

可以确认问题出在更快的USB驱动器上。我订购了一个新的品牌USB 3.0拇指驱动器,现在感觉几乎是原生的。我相信虽然我仍在使用USB 2.0端口,所以我想如果我正在使用3.0端口,它将感觉至少与通过SATA连接的HDD一样快。
hermancain

Answers:


37

这与它们的操作方式有关。

对于常规安装到闪存驱动器,您会受到USB带宽的限制,因此,除非您拥有良好的USB 3.0设备,否则您的速度将保持在20MB / s左右(这相当于90年代后期的传统硬盘驱动器) 。所有更改也都会写入设备,因此您共享该USB带宽用于读写。

但是,Live系统的操作有所不同。Live系统的核心是一个基本系统映像(通常是一个SquashFS映像,因为它有利于节省空间),并在该映像之上安装了一个覆盖层,以拦截更改并将其保存在RAM中。有两种特定的处理方式:

  1. 基本系统映像在启动时加载到RAM中,然后所有内容都从那里运行。
  2. 基本系统映像保留在闪存驱动器上,但是它的某些部分已预加载到缓存中。

在第一种情况下,您实际上可以以比本机速度快的速度运行(因为您访问的内容绝不会比RAM慢),但是启动会花费很长时间(因为您要将数百MB的数据复制到RAM中。)在第二种情况下,您的速度不会像本机速度那样快,但是由于您从未向falsh驱动器写入任何内容,因此几乎也不会从缓存中删除数据,因此运行速度也相当快。


3
假设您的(免费的,可用于缓存的)RAM大于操作系统映像(这是一个合理的假设),那么第二个选择实际上将最终成为第一个选择的延迟加载版本。
约尔格W¯¯米塔格

实际上,有了足够好的USB 2.0驱动器,您可以达到30 MB / s(理论USB 2.0带宽的一半)。我确实有一个这样的驱动器。
Ruslan

@JörgWMittag差不多,但是我还没有看到很多像这样配置的实时图像,可能是因为如果设备特别慢,第一个选项通常会更有效。
奥斯汀·海默加恩

@Ruslan好一点,尽管从我所见,虽然这种驱动器相当稀少(尤其是USB 3.0成为常态,但制造高端USB 2.0驱动器的动机并不多)。
奥斯汀·海默加恩
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.