1、df -h查看使用1.9T,实际du -sh *查看使用不超过400G,df -i查看inode也是正常



2、可能原因:crontab任务在执行,或者文件被rm删除但是进程还在占用导致,处理方法:1、reboot机器让进程释放文件句柄;2、lsof | grep deleted 命令,查看当前系统句柄未释放情况
lsof -n| grep deleted

使用ls -l /proc/pid/fd/* | grep 文件名查看
[root@bogon yum.repos.d]# ls -l /proc/PID/fd/* | grep /151_bak/logs/.catalina.out.Rxuyo4
lrwx------ 1 root root 64 Jun 13 08:34 /proc/14406/fd/8 -> /151_bak/logs/.catalina.out.Rxuyo4 (deleted)
echo到上图查到的结果
echo > /proc/14406/fd/8
批量杀死lsof查到的进程也可以
lsof -n |grep deleted | awk -F " " '{print $2}' |xargs kill -9
3、使用xfs_fsr修复磁盘碎片
xfs_fsr /dev/容量异常设备
文章讲述了在Linux系统中,df-h显示磁盘使用量与du-sh实际统计不符的情况,可能是由于crontab任务执行或文件被删除但进程仍占用导致。处理方法包括重启机器、使用lsof查找并关闭已删除文件的占用进程,以及使用xfs_fsr命令修复磁盘碎片。
8412

被折叠的 条评论
为什么被折叠?



