hadoop集群提高磁盘 IO 的效率、提升文件系统的性能。

默认的方式下linux会把文件访问的时间atime做记录,文件系统在文件被访问、创建、修改等的时候记录下了文件的一些时间戳,比如:文件创建时间、最近一次修改时间和最近一次访问时间;这在绝大部分的场合都是没有必要的。
因为系统运行的时候要访问大量文件,如果能减少一些动作(比如减少时间戳的记录次数等)将会显著提高磁盘 IO 的效率、提升文件系统的性能。
如果遇到机器IO负载高或是CPU WAIT高的情况,可以尝试使用noatime和nodiratime禁止记录最近一次访问时间戳。

修改方法

1.修改/etc/fstab,如下
/dev/sdb1 /data ext4 defaults 0 0
改成
/dev/sdb1 /data ext4 noatime 0 0
2.修改/etc/fstab设置后需要重新挂载文件系统、不必重启就可以应用新设置。remount分区,执行:
mount -o remount /data

如果不想改fstab,直接用mount命令:
mount -o noatime -o nodiratime -o remount /data

其他

此外,设置 noatime 后,可不必再设置 nodiratime。

给挂在根目录下的磁盘批量设置noatime

 

sed –i 's/ext4.*defaults.*0.*0/ext4    defaults,noatime    0 0/' /etc/fstab

 

修改过/etc/fstab后mount -a 即可生效

 

查看效果
cat /etc/mtab

 

 

注意:

假如是新增的项目, 加在 fstab 后跑 mount -a 就行

如是修改现有项目  重新挂载 mount -o remount /data

 

指定"noatime,nodiratime"的情况下
read文件的时候不会导致atime、mtime、ctime改变
write文件只会导致mtime和ctime更新,不会导致atime更新

 

Access是文件最后访问时间,cat命令会改变这个时间。但是由于缓存的原因,短期内只有第一次cat 'abc'时

会改变这个时间

您可以选择一种方式赞助本站