即将在M.2硬盘驱动器上安装Ubuntu 16.04。我应该使用哪个文件系统来提高速度?[关闭]


8

即将在三星M.2硬盘驱动器上安装Ubuntu 16.04。(使用USB驱动器)

我应该使用哪个文件系统?

  • 脂肪32
  • ext4
  • ext3
  • ext2
  • NTFS
  • 我没有提到的另一个?

我的硬盘是:

1TB SAMSUNG SM961 M.2, PCIe NVMe (up to 3200MB/R, 1800MB/W)

如果它们都能正常工作,哪一个是最快的?

受惊的菜鸟的任何提示/陷阱:)


2
您为什么认为文件系统在速度方面很重要?哦,为什么要列出FAT和NTFS。这些是Windows相关的,而不是Linux,因此不能用于安装Ubuntu。
Rinzwind'9

4
在您的候选人中,可以删除FAT和NTFS,因为无法在其中任何一个上安装Ubuntu,只剩下ext *系列。其中,ext4当然是最新,最先进的,这也是默认值。除非您不希望遇到麻烦,否则最好使用ext4进行试验,而不是尝试使用某些受较少支持的文件系统,以使性能得到最小的提高。相关:superuser.com/q/274172/418736
字节命令器

2
我应该使用ext4格式化ubuntu installation-usb吗(我正在使用Windows 10进行格式化?)
Conor Cosnett

2
您可以使用fat32格式化install-usb。看看这里:tutorials.ubuntu.com/tutorial/...
mondjunge

1
如果您是“菜鸟”,请遵循安装程序给出的建议!。仅当您知道自己在做什么时才能从中得出。
托尔比约恩Ravn的安徒生

Answers:


10

非常简单。您使用最适合您的操作系统的文件系统。对于大多数Linux发行版(包括Ubuntu),这是:

ext4

NTFS和fat32不适合Unix / Linux系统,因为它们缺少Linux所需的功能。对于可能需要从Windows系统访问的数据分区,它们可能是一个不错的选择。请注意,fat32不能存储大于4GB的文件,但这是最兼容的选择。即使是旧的DOS也可以读取/写入fat32。

ext2和ext3基本上是ext4的前身。

顺便说一句,速度并不是文件系统的问题。硬盘和总线(连接,USB端口)确定文件操作的速度。


5
唯一值得一提但不是问题的部分:万一有人觉得需要创建快照:btrfs也是一种选择。
林茨温德'17

1
可以在Windows中使用其他驱动程序(示例)访问Ext * 。如果您希望能够将驱动器插入任何地方并使其正常工作,那么显然不是最佳解决方案,但是对于某些用户的需求(例如,双重引导),它可能会很好。
乔恩·本特利

5
实际上,对于某些工作负载,文件系统之间的速度通常会存在非常大的差异。对于大型流读取而言,并不是很多,但是如果您创建/删除/扫描大量文件,则可以看到性能差异超过2倍。对于数据库工作负载也是如此。
hobbs's

我会一直建议的f2fs,因为这是使用闪存存储
马修·杰普森

@hobbs:是的,但是问题是在搜索(语录):“有关受惊的菜鸟的任何提示/陷阱”,我不想让文件系统体系结构的复杂基础吓no菜鸟。
mondjunge

4

非常复杂。您提到的文件系统之间存在显着差异,并且要确定这些差异对速度的影响是恕我直言的,并非微不足道,取决于要执行的操作。

首先,让我们放弃在FAT或NTFS分区上安装根文件系统的可能性。这些文件系统与Linux内核不兼容,并且Linux文件系统权限在它们上无法正常工作,因此您会遇到很多有趣的问题。

注意:FAT32是USB安装介质的不错选择,而NTFS是双重引导(使用Windows)方案中要用于存储个人资料(例如媒体库)的分区的不错选择。适用于Ubuntu(或任何其他Linux系统)和Windows。只要正确安装了Linux系统,它们就可以读取(或写入)NTFS分区,但是据我所知,ext *分区对Windows并不容易读取。

ext *系统旨在与Linux内核一起使用。在您的Ubuntu安装中使用ext2,3或4完全是明智的。他们之间最大的差异可能是

  • ext2是非新闻性的
  • ext3正在记录日志,但其他方面具有与ext2类似的数据结构和功能
  • 尽管ext4具有类似的数据结构,但它具有日志功能,并且具有一些性能增强功能,其中包括与早期ext *系统相比具有更快的块分配算法。

我认为必须注意,速度并不是选择文件系统时的唯一考虑因素。与早期版本相比,Ext4的局限性更小,允许使用更大的文件系统,无限制的子目录等。某些人将Ext3视为经过更多测试和测试,更安全并且丢失数据的可能性更低。在这里,我将重点介绍速度,同时只提及性能以外最突出的内容。

等等什么 日记?1个

一个日志文件系统,总之,会记录还没有被写入到文件系统的主要部分的变化。这样做是为了在发生崩溃的情况下,通过将日志与已写入主文件系统区域的内容进行比较,很容易检查文件系统的一致性。这意味着使用ext3和ext4来检查文件系统的速度要快得多。另外,由于ext4允许标记未分配的块,因此可以跳过对它们的检查,从而fsck可以更快地进行检查。

Ext4还对日志进行校验和(写入时允许更少的I / O等待),与ext3相比,总体速度略有提高。

可能不需要经常检查文件系统的一致性,并且日志记录需要付出一定的代价-写入更多的磁盘。这不仅会影响高速SSD的使用寿命,还会降低性能(写入需要时间)。普遍的共识似乎是,日记是值得的。

ext4的性能增强功能

Ext4支持fallocate()系统调用来为文件预分配空间。内核分配一些块并将其标记为已初始化,而不写入它们,这比在旧文件系统中将零写入空间要快得多。

它还使用延迟分配(或“按刷新分配”)来对分配进行批处理(而不是执行许多小的分配),因此倾向于减少CPU使用率并避免碎片化。

Ext4与ext2和ext3向后兼容,这意味着ext2和3文件系统可以作为ext4挂载,并且由于可以使用某些新功能(如新块分配算法)而享有适度的性能优势。

其他文件系统

尽管Ext *是最著名和测试最多的文件系统,但它并不是唯一完全与Linux兼容的文件系统。其他文件系统使用日记的替代方法,并具有可能影响性能的创新功能。例如,Btrfs使用写时复制保留文件系统完整性而不是保留日志的方法。它具有与ext *系统不同的数据结构。据我所知,尚不知道Btrfs的通用性能要比ext4快,但是Btrfs被认为对照片视频文件的归档存储特别有用,因为它们不太可能退化。它允许在使用过程中检查和清理文件系统的一致性,这可能会节省时间,具体取决于您的用例。将来,可能会进一步开发Btrfs或其他创新的文件系统,以在总体速度上令人信服地胜过ext4。

结论

大多数寻求良好性能的Ubuntu用户现在都希望使用ext4 ...


1 了解Linux内核中很好地解释了这个和其他Linux文件系统概念。


1
很棒的答案,我订购了一份“了解linux内核”的副本,我想我现在只会使用ext4,但我想在将来进行实验
Conor Cosnett

1
@ConorCosnett太棒了。我认为像Btrfs和ZFS这样的创新文件系统需要更多的冒险者来进行测试。甚至引述ext4的首席开发人员说,Btrfs至少在其理论框架内比ext4更好(可以说可能更好)。仅仅是ext *系统已经过充分的测试,Linux世界中的许多人对此都很熟悉。我们坚持我们所知道的。
Zanna
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.