一、现象:
Linux主机:用df -hT 查看磁盘占用已经满了,但是用du -sh * 又找不到是哪些文件目录占满了磁盘。
二、解决,lsof
lsof |grep delete
用lsof检查后才发现原因是,有文件被删除,而进程还活着,因而造成还占用空间的现象。
根据lsof列出的进程号,kill这些进程或重启进程后,空间就释放出来了。重要服务进程pid,注意确认,别发重要服务kill了。
三、总结
- 日志文件等,不要多个进程公用同一个文件,这样有的进程下线清理文件,由于其他进程占用,空间不会释放。
- 清理一些文件,不要直接
rm -rf,如果进程读取的文件,文件删了由于进程占用,空间不会释放。可以echo > filename清空文件
本文介绍了一种在Linux系统中解决磁盘空间被已删除但仍在使用中的文件占用的问题。通过使用lsof命令查找并处理这些文件,可以有效地释放磁盘空间。同时,文章提醒在清理文件时避免直接使用rm-rf命令,以免进程占用导致空间无法释放。
1028





