du命令查询数据文件大小大于实际大小
问题现象
在数据库使用过程中,通过如下du命令查询XFS数据文件大小,查询结果大于文件实际的大小。命令如下:
du -sh filename
原因分析
XFS文件系统有预分配机制,预分配的大小由参数allocsize确定。du命令显示的文件大小包括该预分配的磁盘空间。
处理方法
方案1
将XFS文件系统挂载选项allocsize设置为默认值(64KB)减缓该问题。
方案2
使用du命令时,增加--apparent-size选项,查看实际文件的大小。
du -sh file --apparent-size
方案3
XFS文件系统有回收预分配空间的机制,文件系统可以通过回收文件预分配的空间,使du命令显示为实际文件的大小。