开发者社区> 问答> 正文

Linux 主机删除文件后磁盘空间显示不变

Linux 主机删除文件后磁盘空间显示不变,请问如何处理该问题?

展开
收起
开发者说 2019-07-16 09:56:17 723 0
1 条回答
写回答
取消 提交回答
  • 问题现象

    可以使用命令行查看,出现如下情况:

    • df  -h 占用空间90%,占用 17G 空间。
    • du -sh ./*  查看根目录下的空间占用,加起来不到10G,差别比较大。

    问题原因 

    如果删除的文件正在被调用,则直接删除文件可能会导致句柄未释放,磁盘空间还被占用的情况。

    处理办法

    可以执行命令 lsof|grep deleted  获得一个已经被删除但是仍然被应用程序占用的文件列表,比如:

    $ lsof|grep deleted
    java       6006       root    1w      REG              202,1 10590411943    1180807 /usr/tomcat/logs/catalina.out (deleted)
    java       6006       root    2w      REG              202,1 10590411943    1180807 /usr/tomcat/logs/catalina.out (deleted)
    java       6006       root    9w      REG              202,1           0    1180815 /usr/tomcat/logs/manager.xxxxxx.log (delete)
    java       6006       root   10w      REG              202,1           0    1180816 /usr/tomcat/logs/host-manager.xxxxxx.log (deleted)

    然后,尝试参阅如下方法进行处理:

    • 重启系统来释放资源。
    • 停止占用文件资源的应用程序或服务,比如 Apache 等。
    • kill 正在占用文件的对应的进程,这种方法是有一定风险(不推荐)。
    2019-07-22 11:22:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载