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

her*_*ain 24 live-usb persistence

在实时环境中运行 Fedora 26 对我来说几乎感觉就像原生速度一样,但是当我将操作系统安装到拇指驱动器并启动时,一切都需要永远启动。一旦开始,它们通常会快得多,但实际上无法使用。

这被认为是正常的吗?

Aus*_*arn 38

这与他们的运作方式有关。

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

但是,Live 系统的运行方式略有不同。就其核心而言,Live 系统由一个基本系统映像(通常是 SquashFS 映像,因为它有利于空间效率)和一个覆盖安装在其之上以拦截更改并将它们保存在 RAM 中。有两种具体的处理方式:

  1. 基本系统映像在启动时加载到 RAM 中,然后一切从那里运行。

    在这种情况下,您实际上可以比本机速度运行得更快(因为您永远不会访问比 RAM 慢的任何东西),但是您的启动需要很长时间(因为您要将数百 MB 的数据复制到 RAM 中。

  2. 基本系统映像保留在闪存驱动器上,但其中的某些部分会预先加载到缓存中。

    在这种情况下,您不会像本机速度那么快,但是因为您从不向闪存驱动器写入任何内容,您也几乎不会从缓存中删除数据,因此您的运行速度也相当快。

  • 假设您的(免费,可用于缓存)RAM 大于操作系统映像(这是一个非常合理的假设),则第二个选项最终将成为第一个选项的延迟加载版本。 (3认同)