今天打开网站页面发现显示不正常,很多资源文件无法正常展示。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 查看,空间终于正常