linux磁盘空间占用很大,但是找不到大文件

linux磁盘空间占用很大,但是找不到大文件

一.背景介绍

在linux系统上部署了tomcat应用,运行一段时间后,发觉根分区空间的占用越来越大,tomcat的日志已经定时清理了,并且在系统中并未找到有占用这么多磁盘空间的文件。

二.问题分析

1.查看磁盘空间使用情况(它会统计碎片占用的磁盘空间):

df -h

2.查看磁盘空间使用情况:

du -sh *

3.查看linux系统中,大于500M的文件:

find / -type f -size +500M

通过以上步骤,可能是由于反复的删除文件导致的磁盘产生碎片,一直没有释放。
4.查看已经删除的文件,磁盘空间没有释放:

lsof -n |grep deleted

执行命令后,发现有大量的状态为deleted背进程号为161886所占用,实际该文件是被删除了。
在这里插入图片描述
发现是部署的定时工程的日志,而此工程因为项目中后台日志输出较大,所以通过linux的crontab定时清理日志,而脚本中是执行的rm -rf删除日志,问题到这一步已经可以确定了。因为执行rm -rf删除大文件操作时,如果进程在继续访问该文件,那么可能会导致磁盘空间一直占用不释放。

三.问题解决

将定时清理的脚本中的rm换成:

cd /data/applogs/xxl-job
echo > xxl-job-executor-sample-springboot.log

通过“>”可以直接释放磁盘空间。将应用程序进程关闭重启,先释放。然后后面再持续观察一段时间后,执行lsof -n |grep deleted 并没有之前经常一直占用deleted类型文件发生,磁盘空间使用率也没有一直莫名其妙的增加。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值