删除大文件现象:
系统磁盘使用率出现90%以上,检查系统并未发现大文件的一种排查方法
1、lsof | grep deleted
2、find /proc/*/fd -ls | grep '(deleted)'
kill-9/15 ppid 杀死进程,如果父进程是1 ,建议重启操作系统解决
规避方法:
如何删除文件时避免这种情况
不要直接删除该文件,而是通过将文件 truncate 的方式,释放磁盘空间。
一种方式是:
cat /dev/null > ${filename}
或者(新get!)
: > ${filename}
如此,可以快速释放空间
删除大量小文件现象:
在进到目录ls后卡住,删除的时候普通rm删除的方法无法删除
推荐直接用df -i ,快捷方便
df -i |head -1
df -i|grep -v '^Filesystem'|awk -F' *|%' '{if($5>=10)print $0}'
# 查找inodes资源使用超过10%的挂载点
删除方法:参考文章Linux 快速删除大量小文件方法
mkdir /tmp/null
rsync --delete-before -d /tmp/null/ /Path/
# 使用 rsync的 --delete-before 参数删除
# 这个过程是递进的,删除的文件速度会越来越快
for i in `seq 1 100`;do df -i /Path/|grep -v '^Filesystem';sleep 1;done
# 简单监控一下进度实现1秒检测1次,监测100次