ext4的一些特性

本文介绍了Ext4文件系统中delalloc特性的实现原理及其如何优化磁盘访问性能,同时也详细解释了noatime和nodiratime参数的作用,以及它们如何通过减少时间戳记录来提高磁盘I/O效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

delalloc介绍

delalloc是ext4下的一个新特性,延迟分配技术Delay Allocation。

实现原理为: Buffer Write时数据会被保存到page cache中,但是系统并不会为这些数据分配相应的磁盘块,仅仅会查询是否有已经为这些数据分配过磁盘块,以便决定后面是否需要为这些数据分配磁盘块。在用户调用fsync或者系统触发回写过程时,系统会尝试为标记需要分配磁盘块的这些数据分配磁盘块。这样,文件系统可以为这些属于同一个文件的数据分配尽量连续的磁盘空间,从而优化后续文件的访问性能(因为传统机械硬盘顺序读写的性能要比随机读写好很多

noatime和nodiratime

出现场景
在DB场景,设置fstab mount参数为noatime和nodiratime,将会显著提高磁盘IO的效率,提升文件系统的性能。

noatime和nodiratime介绍
默认情况下,Linux ext3/ext4 文件系统在文件被访问、创建、修改等的时候记录下了文件的一些时间戳,比如:文件创建时间、最近一次修改时间和最近一次访问时间。因为系统运行的时候要访问大量文件,如果能减少一些动作(比如减少时间戳的记录次数等)将会显著提高磁盘 IO 的效率、提升文件系统的性能。Linux 提供了 noatime 这个参数来禁止记录最近一次访问时间戳。noatime不更新文件系统上inode访问记录,nodiratime不更新文件系统上的目录inode访问记录。其中,noatime 已经包含了nodiratime,不需要同时指定。

转载于:https://www.cnblogs.com/muahao/p/6515680.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值