Linux 通过rm命令删除文件后磁盘空间没有释放问题
背景
执行自动化用例的时候,给应用推了一条成功的消息,可是消息没有正常被接收,导致自动化用例执行失败。
查一下日志:
[2019-07-12 00:41:40,701] [WARN] org.springframework.boot.actuate.health.DiskSpaceHealthIndicator [http-nio-11088-exec-3] [] lark silvergrd-notify - Free disk space below threshold. Available: 0 bytes (threshold: 10485760 bytes)
[2019-07-12 00:42:00,196] [WARN] org.springframework.boot.actuate.health.DiskSpaceHealthIndicator [http-nio-11088-exec-9] [] lark silvergrd-notify - Free disk space below threshold. Available: 0 bytes (threshold: 10485760 bytes)
[2019-07-12 00:42:18,721] [WARN] org.springframework.boot.actuate.health.DiskSpaceHealthIndicator [http-nio-11088-exec-5] [] lark silvergrd-notify - Free disk space below threshold. Available: 0 bytes (threshold: 10485760 bytes)
[2019-07-12 00:42:20,685] [WARN] org.springframework.boot.actuate.health.DiskSpaceHealthIndicator [http-nio-11088-exec-10] [] lark silvergrd-notify - Free disk space below threshold. Available: 0 bytes (threshold: 10485760 bytes)
[2019-07-12 00:42:38,725] [WARN] org.springframework.boot.actuate.health.DiskSpaceHealthIndicator [http-nio-11088-exec-8] [] lark silvergrd-notify - Free disk space below threshold. Available: 0 bytes (threshold: 10485760 bytes)
[2019-07-12 00:42:40,742] [WARN] org.springframework.boot.actuate.health.DiskSpaceHealthIndicator [http-nio-11088-exec-3] [] lark silvergrd-notify - Free disk space below threshold. Available: 0 bytes (threshold: 10485760 bytes)
[2019-07-12 00:42:58,752] [WARN] org.springframework.boot.actuate.health.DiskSpaceHealthIndicator [http-nio-11088-exec-9] [] lark silvergrd-notify - Free disk space below threshold. Available: 0 bytes (threshold: 10485760 bytes)
剩余空间不足,磁盘爆了。
df -hl
尝试解决
从经验而言, 一般都是日志文件。
查找占磁盘大于1G
的文件
测试环境日志的作用不是特别大,可以考虑删掉。
[root@release-silvergrd-21-13 logs]# rm out.log
rm: remove regular file `out.log’? yes
删除之后再查一下磁盘占用情况,可用依然还是0
。 虽然该log文件没在该路径了,但是实际并未真正删除。
rm只是将文件链接解除,如果此时有进程打开文件,系统是不会回收文件。说白就是,你删除的文件被放入了“回收站”,但是你看不这个“回收站”,但文件还占用着磁盘空间
文件并未真正删除
,得想办法:
lsof |grep deleted
这不正是刚才删除的两个文件么?
重启占用被删除文件的应用,使该log文件被应用释放,然后被系统自动删除。
补充
如果不想这么麻烦,建议采用此方式:
>out.log
清空log文件里的内容。
参考出处 & 感谢作者
《Linux 通过rm命令删除文件后磁盘空间没有释放问题》
posted on 2019-07-12 16:53 AmosChen 阅读(63) 评论(0) 编辑 收藏 举报 来源