(Ubuntu) Linux 文件复制算法是否比 Windows 7 更好?

(Ubuntu) Linux 文件复制算法是否比 Windows 7 更好?

自从 Windows Vista 以来,Windows 复制就变得一团糟。即使微软声称他们已经改进了性能,但从用户的角度来看,效果并不明显。即使是单个文件,复制窗口也会花太多时间进行“计算”然后完成复制(即使在 100% 完成后,有时对话框仍处于活动状态)。

同时,我在 Ubuntu Linux 中备份了一些文件。我感觉它真的很快。可能是 UI 更新速度加快带来的感觉。

我读了一篇信息丰富的文章Jeff Atwood 几年前谈论过 Windows 文件复制但我的具体问题是

  • (Ubuntu)Linux 文件性能是否比Windows-7更好?
  • Windows 和 Linux 都是利用多线程和流​​水线机制来提高速度吗?如果是,哪个更好?

答案1

标准copyWindows 中的内置命令并不是很好,但是 Windows 自带了两个效率更高的高级命令:xcopyrobocopy。尤其是当你需要完全控制高级文件系统功能时,例如ACL或备用数据流robocopy是首选工具。

例如,如果您要复制大型目录结构,您可能希望目标是未碎片化。 的标准调用robocopy已经相当不错了,但由于目录条目在创建子目录时会更新,因此您仍然会得到碎片目录。为了防止这种情况,您可以分robocopy两次运行,第一次只创建目标目录结构而不复制任何文件内容,第二次实际复制文件主体。

总而言之,robocopy非常高效并且充分了解 NTFS 功能。

答案2

Ubuntu Linux 的速度提升可能部分归功于文件缓存。据我所知,Linux 中的文件复制不会尽量减少文件缓存的使用。

使用 Linux,当您复制小于 RAM 50% 的文件时,整个文件将被复制到文件缓存中,然后在时间允许的情况下写入磁盘。这似乎非常快,但它会强制其他更有用的文件脱离缓存。这些可能是 Web 缓存文件、电子邮件、配置文件、字体文件等。

Windows XP 过去也习惯于不考虑文件缓存而进行复制。但在 Windows Vista 中,微软对 Explorer 进行了修改,使其在复制时使用有限量的文件缓存。这减少了大文件复制对系统其余部分的影响。但它也会将即使是相对较小的文件复制的速度降低到硬盘的速度。

答案3

在 Windows 中,使用 Teracopy - 它将解决 Explorer 所存在的整体愚蠢问题。

在 Ubuntu 中,我发现文件复制非常快。

使用可移动驱动器时,“文件操作”对话框仍然不会消失。如果您在对话框消失后立即尝试安全弹出驱动器,您将收到一些错误消息。但数据会通过。

更新:Windows 文件操作速度很慢,可能是因为与服务和注册表的集成。我猜 Nautilus(在 Gnome 中)只是一个简单的过程,或者至少没有 Explorer 那样的负载/中断。

答案4

在 Linux 中移动和复制文件自然是一项快速的操作。您可以如此快速地移动和复制文件的原因在于源和目标都位于同一分区中。操作只需要更改 inode。在不同分区之间移动文件仍然非常快(对于 1 GB 的文件,只需一分钟左右)。在 Windows 中,将文件移动到同一分区上的目标需要一些时间,因为 Windows 中的文件管理很混乱。(考虑文件碎片和 Windows 格式化硬盘的方式。)

相关内容