SSD 装 Linux 选 Ext4 还是 Btrfs 好
答案:5 悬赏:20 手机版
解决时间 2021-02-09 01:23
- 提问者网友:你独家记忆
- 2021-02-08 14:47
SSD 装 Linux 选 Ext4 还是 Btrfs 好
最佳答案
- 五星知识达人网友:老鼠爱大米
- 2021-02-08 15:25
在同样的磁盘解释下,来比较EXt4和Btrfs时,需要确定你要什么类型的性能能,还有测试方法。
例如:
使用IOzone V3.323版本来测试,
在Write Performance的情况下,Ext4比Btrfs写性能高出两倍还要多那么一些,约如2.2:1
在Read Performace的情况下,Ext4比Btrfs读性能要差一些,约为0.84:1
所以要看你的应用,侧重于读还是写的性能。
没有最好选择,只有最优选择,谢谢!
例如:
使用IOzone V3.323版本来测试,
在Write Performance的情况下,Ext4比Btrfs写性能高出两倍还要多那么一些,约如2.2:1
在Read Performace的情况下,Ext4比Btrfs读性能要差一些,约为0.84:1
所以要看你的应用,侧重于读还是写的性能。
没有最好选择,只有最优选择,谢谢!
全部回答
- 1楼网友:妄饮晩冬酒
- 2021-02-08 19:46
Ext4,因为Btrfs 只有大量删除文件,或者创建大文件时候性能才高,其他时候I/O都远不如 Ext4包括随机写入
- 2楼网友:轮獄道
- 2021-02-08 19:20
应该尽量使用系统默认的文件系统。
Btrfs宣称专注在“容错、修复与易于管理”。
Btrfs已在2010年7月推出的openSUSE11.3中得到了应用.
Btrfs也已在2010年10月推出的ubuntu10.10中得到了应用.
2011年6月8日,在Fedora工程指导委员会会议上,委员会决定Fedora 16将以Btrfs作为默认文件系统.
2011年8月9日, Fedora撤回了决定,Btrfs不再作为Fedora 16默认文件系统,原因是时间不充足,无法达到改变默认文件系统所要满足的基本要求。
2011年10月5日,Fedora 16测试版发布,BTRFS 将做为其默认文件系统。
2011年11月8日,Fedora 16正式版发布,默认文件系统依然采用ext4,并未采用预计的Btrfs文件系统。
- 3楼网友:逃夭
- 2021-02-08 17:59
Linux kernel 自 2.6.28
开 始正式支持新的文件系统 Ext4。 Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对
Ext2 那样,只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能:
1. 与 Ext3 兼容。执行若干条命令,就能从 Ext3 在线迁移到 Ext4,而无须重新格式化磁盘或重新安装系统。原有 Ext3 数据结构照样保留,Ext4 作用于新数据,当然,整个文件系统因此也就获得了 Ext4 所支持的更大容量。
2. 更大的文件系统和更大的文件。较之 Ext3 目前所支持的最大 16TB 文件系统和最大 2TB 文件,Ext4 分别支持 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系统,以及 16TB 的文件。
3. 无限数量的子目录。Ext3 目前只支持 32,000 个子目录,而 Ext4 支持无限数量的子目录。
4. Extents。Ext3 采
用间接块映射,当操作大文件时,效率极其低下。比如一个 100MB 大小的文件,在 Ext3 中要建立 25,600 个数据块(每个数据块大小
为 4KB)的映射表。而 Ext4 引入了现代文件系统中流行的 extents 概念,每个 extent
为一组连续的数据块,上述文件则表示为“ 该文件数据保存在接下来的 25,600 个数据块中”,提高了不少效率。
5. 多块分配。当
写 入数据到 Ext3 文件系统中时,Ext3 的数据块分配器每次只能分配一个 4KB 的块,写一个 100MB 文件就要调用 25,600
次数据 块分配器,而 Ext4 的多块分配器“multiblock allocator”(mballoc) 支持一次调用分配多个数据块。
6. 延迟分配。Ext3 的数据块分配策略是尽快分配,而 Ext4 和其它现代文件操作系统的策略是尽可能地延迟分配,直到文件在 cache 中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。
7. 快速 fsck。以前执行 fsck 第一步就会很慢,因为它要检查所有的 inode,现在 Ext4 给每个组的 inode 表中都添加了一份未使用 inode 的列表,今后 fsck Ext4 文件系统就可以跳过它们而只去检查那些在用的 inode 了。
8. 日志校验。日志是最常用的部分,也极易导致磁盘硬件故障,而从损坏的日志中恢复数据会导致更多的数据损坏。Ext4 的日志校验功能可以很方便地判断日志数据是否损坏,而且它将 Ext3 的两阶段日志机制合并成一个阶段,在增加安全性的同时提高了性能。
9. “无日志”(No Journaling)模式。日志总归有一些开销,Ext4 允许关闭日志,以便某些有特殊需求的用户可以借此提升性能。
10. 在线碎片整理。尽管延迟分配、多块分配和 extents 能有效减少文件系统碎片,但碎片还是不可避免会产生。Ext4 支持在线碎片整理,并将提供 e4defrag 工具进行个别文件或整个文件系统的碎片整理。
11. inode 相关特性。Ext4 支
持更大的 inode,较之 Ext3 默认的 inode 大小 128 字节,Ext4 为了在 inode 中容纳更多的扩展属性(如纳秒时间戳
或 inode 版本),默认 inode 大小为 256 字节。Ext4 还支持快速扩展属性(fast extended
attributes) 和 inode 保留(inodes reservation)。
12. 持久预分配(Persistent preallocation)。P2P 软
件为了保证下载文件有足够的空间存放,常常会预先创建一个与所下载文件大小相同的空文件,以免未来的数小时或数天之内磁盘空间不足导致下载失 败。
Ext4 在文件系统层面实现了持久预分配并提供相应的 API(libc 中的 posix_fallocate()),比应用软件自己实现更有
效率。
13. 默认启用 barrier。磁
盘 上配有内部缓存,以便重新调整批量数据的写操作顺序,优化写入性能,因此文件系统必须在日志数据写入磁盘之后才能写 commit 记录, 若
commit 记录写入在先,而日志有可能损坏,那么就会影响数据完整性。Ext4 默认启用 barrier,只有当 barrier 之前的数据
全部写入磁盘,才能写 barrier 之后的数据。(可通过 "mount -o barrier=0" 命令禁用该特性。)
- 4楼网友:人间朝暮
- 2021-02-08 16:48
在同样的磁盘解释下,来比较EXt4和Btrfs时,需要确定你要什么类型的性能能,还有测试方法。例如:
使用IOzone V3.323版本来测试,在Write Performance的情况下,Ext4比Btrfs写性能高出两倍还要多那么一些,约如2.2:1在Read Performace的情况下,Ext4比Btrfs读性能要差一些,约为0.84:1所以要看你的应用,侧重于读还是写的性能。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯