分两种情况考虑,第一种是有大文件删除了,但是仍然被某些进程占用;第二种是文件系统碎片太多需要整理。那么如何判定和处理呢。
示例环境:
操作系统所在根目录的lvm盘 /dev/mapper/centos-root , 文件系统XFS(本文命令仅适用于XFS,其他文件系统请查询对应命令)
1. 存在已经删除的大文件被进程占用
判断方法: du 查出结果比df查到的文件系统占用空间小很多,此时可以通过lsof命令查找是否有被删除的大文件仍然被占用。
处理方法: 重启或者杀掉对应的进程,释放删除文件即可
2. 文件系统碎片过多
判断方法: 如果上述情况不符合,并且重启机器后du和df查询结果相差仍然很大,可以通过文件系统碎片查询命令查看是否碎片比较多(xfs_db -c frag -r "device")
处理方法: 执行文件系统整理命令,可以优化存储空间分配,腾出可用空间(xfs_fsr "device")
如下图所示: