测试环境一台服务器/ 根目录空间使用率达到94%,但是通过du -sh * 发现实际空间没没用用到那么多,初步怀疑,之前删除的文件,有运行中的进程一直占用,导致空间没有释放,如图通过du -sh * 发现共实际使用不到10G 空间 ,而通过df-h 发现 已经使用了44G
接着我们通过lsof 命令查找运行中的进程占用已经删除的文件,使用命令
lsof |grep delete | sort -nrk 7| more
注:sort -nrk 7是将已经删除的文件进行大小排序
17411进程占用大量的的删除文件,释放这些文件 ,首先查找进程 ps uax |grep 17411,我这个是测试环境, 所以我使用 kill -9 17411直接杀死进程 ,在用 df -h
空间使用率已经下降到19%
终结:在日常运维过程中,如果我们需要删除比较大的文件 可以使用 > filename ,这种可以直接释放磁盘空间,使用 rm 如果有进程在访问文件,则有可能出现磁盘空间不释放的情况