运行安装在 USB 驱动器上的 Ubuntu 时如何解决延迟问题?

Dib*_*ill 4 performance usb-drive

我最近重新安装了 Ubuntu 12.04。我是在 16GB USB 闪存驱动器上完成的,其中 964MB 用于交换,13.97GB 用于 ext3。

系统规格:

  • 2GB DDR2 RAM(800~频率范围)
  • 3.14GHz 单核处理器
  • ATI 3600 显卡

这是我第一次在 USB 闪存驱动器上安装 Ubuntu(我在硬盘驱动器上安装了另一个 Ubuntu)。我在硬盘上的 Ubuntu 运行速度比我的 Windows 7 快得多;例如,我可以运行带有大约 20 个标签的谷歌浏览器,并且让 Photoshop 没有任何延迟地运行。但是现在使用 USB 版本,我几乎无法打开带有六个选项卡的 Google Chrome 浏览器同时浏览我的主文件夹,而不会出现 Chrome 或主文件夹冻结的情况。

这是top在终端中使用的图片:

那你能帮帮我吗?任何建议都会有所帮助。

tho*_*ter 6

USB 闪存驱动器失败的地方是随机写入磁盘。它们可能比传统硬盘驱动器上的相同操作慢百倍。请注意,在 2008 年或 2009 年左右,SSD 以前也是如此,当时他们获得了新的控制器技术,使它们比传统硬盘驱动器快得多。这些技术在 USB 闪存驱动器上几乎不存在。

特别慢的操作包括:

  • 安装新软件包或进行系统更新。预计这些将比传统硬盘驱动器慢数十倍,甚至可能比 SSD 慢 1000 倍。在 Ubuntu 版本之间升级可能需要几个小时或更长时间。
  • 一般浏览器使用,因为您的浏览器始终将文件缓存到磁盘。
  • 涉及复制或移动/更改数百个小文件的操作。

phoronix 上的这篇文章比较了 USB 闪存驱动器上各种文件系统的性能。不幸的是,它的结论是它并没有产生太大的不同。从理论上讲,日志结构的文件系统应该会有所帮助,但这些还不够主流,我无法向初学者推荐它们。

一种想法是改用只读或混合文件系统,这正是将 Ubuntu Live CD 映像(或使用 UNetBootin 设置实时 USB)复制到 USB 闪存驱动器时所得到的。考虑从具有持久性的 Live CD 映像设置 Live USB (尝试查找最近的指南)。当然,您将无法升级到新版本的 Ubuntu,但这并不一定很糟糕。

除非采取任何此类措施,并保持传统的分区类型/结构,否则您的主要策略将是不惜一切代价尝试并尽量减少对磁盘的写入。这方面的想法包括:

  • 在 ext4 上禁用日志记录或将您的分区设置为“回写”模式。这样做的缺点是,在意外断电、崩溃或在使用驱动器时简单地拔下驱动器的情况下,它会增加数据丢失或损坏的可能性和严重性。
  • 禁用交换,虽然在具有足够 RAM 的系统上这实际上会比您预期的要少得多,并且在 RAM 不足的系统上可能会导致稳定性问题。
  • 尽量减少各种程序(例如浏览器)的磁盘缓存。减少磁盘缓存的大小并不一定足够:将其全部关闭并使用内存缓存(如果可能)要好得多。如果您有大量 RAM,您可以尝试对各种 tmp 和缓存目录使用 tmpfs 挂载(如 RAM 中的磁盘分区)。