解决 ubuntu 空间占满,删除文件后磁盘没有释放 的问题

      今天打开网站页面发现显示不正常,很多资源文件无法正常展示。F12页面后,发现报的HTTPS错误,随后感觉可能是nginx的问题,就直接重启了nginx,nginx重启后发现问题依旧。此时查看nginx日志无任何报错。

       心里想着看看磁盘空间吧,df 一看,发现磁盘空间 竟然 100% 占用。

df -h

随后依次干了以下几件事:

1,清理临时文件和缓存

sudo apt-get clean

sudo apt-get autoclean

sudo apt-get autoremove

sudo apt-get clean清理apt软件包的缓存文件

sudo apt-get autoclean清理已经过期的软件包

sudo apt-get autoremove删除已经不需要的软件包

2,清理日志文件

sudo du -sh /var/log/*

sudo rm /path/to/logfile

sudo du -sh /var/log/*查看各日志文件夹的大小

sudo rm /path/to/logfile删除不需要的日志文件

再使用 df -h 查看,发现空间占用依旧,应该不是日志,软件包导致的空间占用。

那么如何查出罪魁祸首呢?

先在根路径下,使用 du -sh * 查看那个目录占用空间最大

du -sh  * 

检查一番发现  home 路径占用达到 100多G ,随后进入 home 继续 du -sh * 来一层层查看,

随后发现 其中一个用户的目录 占用了这 100多G,但当我进入这个用户继续 du -sh * 查看时,发现没有大的占用信息了。应该是很多文件信息没有展示出来

此时使用 du -d 1 -h 来展示目录下一层的信息

du -d 1 -h

随后就看到了占用空间的几个隐藏日志文件,心里一阵窃喜,立即 rm -rf 掉这些垃圾

rm -rf  xx*

 本以为应该一切OK了,df继续查看空间,发现空间仍然被占用。经过查看资料,原来 rm 只会删除连接(unlink),如有进程在读取已删除的文件,删除的文件空间并不会释放。既然是有进程在用,那么就干掉这几个进程。

首先用 lsof +L1 查看有哪些进程

lsof +L1

接下来就 用 kill 一个个清理le 

kill xxxx

清理完后,再用df 查看,空间终于正常

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木头呆但不傻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值