分享

Linux 利用lsof命令查找已经删除的文件来释放磁盘空间

 静幻堂 2018-09-15
运维搬砖工 2018-09-14 15:49:32

测试环境一台服务器/ 根目录空间使用率达到94%,但是通过du -sh * 发现实际空间没没用用到那么多,初步怀疑,之前删除的文件,有运行中的进程一直占用,导致空间没有释放,如图通过du -sh * 发现共实际使用不到10G 空间 ,而通过df-h 发现 已经使用了44G

Linux 利用lsof命令查找已经删除的文件来释放磁盘空间

接着我们通过lsof 命令查找运行中的进程占用已经删除的文件,使用命令

lsof |grep delete | sort -nrk 7| more

注:sort -nrk 7是将已经删除的文件进行大小排序

Linux 利用lsof命令查找已经删除的文件来释放磁盘空间

17411进程占用大量的的删除文件,释放这些文件 ,首先查找进程 ps uax |grep 17411,我这个是测试环境, 所以我使用 kill -9 17411直接杀死进程 ,在用 df -h

Linux 利用lsof命令查找已经删除的文件来释放磁盘空间

空间使用率已经下降到19%

终结:在日常运维过程中,如果我们需要删除比较大的文件 可以使用 > filename ,这种可以直接释放磁盘空间,使用 rm 如果有进程在访问文件,则有可能出现磁盘空间不释放的情况

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多