即将在三星M.2硬盘驱动器上安装Ubuntu 16.04。(使用USB驱动器)
我应该使用哪个文件系统?
- 脂肪32
- ext4
- ext3
- ext2
- NTFS
- 我没有提到的另一个?
我的硬盘是:
1TB SAMSUNG SM961 M.2, PCIe NVMe (up to 3200MB/R, 1800MB/W)
如果它们都能正常工作,哪一个是最快的?
受惊的菜鸟的任何提示/陷阱:)
即将在三星M.2硬盘驱动器上安装Ubuntu 16.04。(使用USB驱动器)
我应该使用哪个文件系统?
我的硬盘是:
1TB SAMSUNG SM961 M.2, PCIe NVMe (up to 3200MB/R, 1800MB/W)
如果它们都能正常工作,哪一个是最快的?
受惊的菜鸟的任何提示/陷阱:)
Answers:
非常简单。您使用最适合您的操作系统的文件系统。对于大多数Linux发行版(包括Ubuntu),这是:
ext4
NTFS和fat32不适合Unix / Linux系统,因为它们缺少Linux所需的功能。对于可能需要从Windows系统访问的数据分区,它们可能是一个不错的选择。请注意,fat32不能存储大于4GB的文件,但这是最兼容的选择。即使是旧的DOS也可以读取/写入fat32。
ext2和ext3基本上是ext4的前身。
顺便说一句,速度并不是文件系统的问题。硬盘和总线(连接,USB端口)确定文件操作的速度。
非常复杂。您提到的文件系统之间存在显着差异,并且要确定这些差异对速度的影响是恕我直言的,并非微不足道,取决于要执行的操作。
首先,让我们放弃在FAT或NTFS分区上安装根文件系统的可能性。这些文件系统与Linux内核不兼容,并且Linux文件系统权限在它们上无法正常工作,因此您会遇到很多有趣的问题。
注意:FAT32是USB安装介质的不错选择,而NTFS是双重引导(使用Windows)方案中要用于存储个人资料(例如媒体库)的分区的不错选择。适用于Ubuntu(或任何其他Linux系统)和Windows。只要正确安装了Linux系统,它们就可以读取(或写入)NTFS分区,但是据我所知,ext *分区对Windows并不容易读取。
ext *系统旨在与Linux内核一起使用。在您的Ubuntu安装中使用ext2,3或4完全是明智的。他们之间最大的差异可能是
我认为必须注意,速度并不是选择文件系统时的唯一考虑因素。与早期版本相比,Ext4的局限性更小,允许使用更大的文件系统,无限制的子目录等。某些人将Ext3视为经过更多测试和测试,更安全并且丢失数据的可能性更低。在这里,我将重点介绍速度,同时只提及性能以外最突出的内容。
一个日志文件系统,总之,会记录还没有被写入到文件系统的主要部分的变化。这样做是为了在发生崩溃的情况下,通过将日志与已写入主文件系统区域的内容进行比较,很容易检查文件系统的一致性。这意味着使用ext3和ext4来检查文件系统的速度要快得多。另外,由于ext4允许标记未分配的块,因此可以跳过对它们的检查,从而fsck
可以更快地进行检查。
Ext4还对日志进行校验和(写入时允许更少的I / O等待),与ext3相比,总体速度略有提高。
可能不需要经常检查文件系统的一致性,并且日志记录需要付出一定的代价-写入更多的磁盘。这不仅会影响高速SSD的使用寿命,还会降低性能(写入需要时间)。普遍的共识似乎是,日记是值得的。
Ext4支持fallocate()
系统调用来为文件预分配空间。内核分配一些块并将其标记为已初始化,而不写入它们,这比在旧文件系统中将零写入空间要快得多。
它还使用延迟分配(或“按刷新分配”)来对分配进行批处理(而不是执行许多小的分配),因此倾向于减少CPU使用率并避免碎片化。
Ext4与ext2和ext3向后兼容,这意味着ext2和3文件系统可以作为ext4挂载,并且由于可以使用某些新功能(如新块分配算法)而享有适度的性能优势。
尽管Ext *是最著名和测试最多的文件系统,但它并不是唯一完全与Linux兼容的文件系统。其他文件系统使用日记的替代方法,并具有可能影响性能的创新功能。例如,Btrfs使用写时复制保留文件系统完整性而不是保留日志的方法。它具有与ext *系统不同的数据结构。据我所知,尚不知道Btrfs的通用性能要比ext4快,但是Btrfs被认为对照片视频文件的归档存储特别有用,因为它们不太可能退化。它允许在使用过程中检查和清理文件系统的一致性,这可能会节省时间,具体取决于您的用例。将来,可能会进一步开发Btrfs或其他创新的文件系统,以在总体速度上令人信服地胜过ext4。
大多数寻求良好性能的Ubuntu用户现在都希望使用ext4 ...
1 在了解Linux内核中很好地解释了这个和其他Linux文件系统概念。