Linux磁盘空间清理未生效问题记录
2020-03-01 本文已影响0人
大鱼炖海棠
时间有限,先做个简记,后面再来丰富。
问题背景:
服务器磁盘告警,找到不需要的文件,做rm -Rf xxx
操作,df -h
打印出来一看,空间并未释放,猜测是某种机制导致的释放延迟,所以坐等了一会再看,空间依然没释放。
原因
通过查阅相关资料,了解到被删除文件被执行rm
命令时,如果有进程操作该文件,该文件不会被立马删除,而是被标记为deleted
;直到操作该文件的所有进程都结束,该文件才会被删除。
delete
状态下的文件不可见,使用ll
命令时该文件看不见摸不着,但实实在在的占用了磁盘空间。可以通过执行下列命令查看被标记为delete
的文件清单:
lsof | grep deleted
解决方案
- kill掉打开文件的进程,占用的磁盘空间即可回收
- 执行
echo " " >/dir/xxxFile
,清空目标文件