Linux中磁盘空间始终被占满问题解决

最近,我在系统开发过程中遇到了一个问题,就是磁盘空间被沾满
df -lh命令查看
在这里插入图片描述

起初,我认为应该是log日志太多,所以,清理掉了我能想到的log日志的地方,清理后大概腾出了1G多的空间,勉强能用一段时间
但是,很快磁盘再次100%,于是我就想删除更多的log日志,于是我就想到用find语句,步骤如下:

  • 使用root权限cd /进入根目录
  • 使用命令find -type f -size +100M -name "*.log" |xargs ls -l来查询所有大小超过100M且以.log结尾的文件,并显示其大小

一顿操作下来,仅有几个不超过200M的文件,还是别的项目组的日志文件,不敢轻易删去;于是我改进了一下,

  • 用命令find -type f -size +100M -name "*.*" |xargs ls -l

查询所有超过100M的文件如下:
在这里插入图片描述
但,这几个文件之和也远远没有达到想象中的大小
实在每招,我们就看下是哪个文件夹占这么大的面积,

  • 用命令du -s -h ./*如下:
    在这里插入图片描述

发现,所有文件夹大小总和才不到20G,而我们磁盘的大小又40多G,其他空间去哪了呢
于是我们想,会不会是又隐藏文件呢

  • 于是用命令du -sh .[!.]* * | sort -hr来查看所有跟目录下文件及文件夹大小,包括隐藏文件
    在这里插入图片描述

也还是总共不到20G的空间占有

到底是什么情况呢???

这时,我们发现一种情况,就是每当我们清楚掉几十兆的空间后,没过多久,空间就又被占满了,网上查询相关的内容,有一种说法,是说文件被删除了,但是进程依然在读写被删除的文件,造成磁盘空间没有被释放

  • 于是我用命令**lsof -n | grep deleted**果然发现了很多进程占有被删除的文件
    在这里插入图片描述
    其中,有的进程占领的空间达20多G,所以情况都清楚了,但是这个进程是另外一个项目组的,我让他们将该服务停掉,然后,
  • 使用kill -9 进程号来杀死该进程

最后,再看看系统磁盘情况df -lh
在这里插入图片描述
果然,空间清理出了24G!!!

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值