linux磁盘占用达到100%清理记录

执行df -h查看自己的数据磁盘到达97%

使用du -h --max-depth=1  依次查看数据占用较大的文件一直定位到那个文件

清理记录

1.mysql慢查询日志

# mv slow.log slow.log.bak    #备份重命名慢查询日志

# mysqladmin -uusername -ppwd flush-logs  #命令执行生成新的慢查询日志文件,这个命令不需要重启mysql

 

2mysql清理二进制日志mysql-bin.000001

查看文件大小ls -l --block-size=G

登录mysql执行mysql> reset master;

reset master功能说明:删除所有的binlog日志文件,并将日志索引文件清空,重新开始所有新的日志文件。用于第一次进行搭建主从库时,进行主库binlog初始化工作;

如果做了主从MySQL的注意别轻易执行reset master;

 

3.清理其它占用磁盘大的日志文件

rm -rf 清理你看不顺眼的文件;(ps:root用户别轻易使用)

 

4.使用du -h --max-depth=1查看所有文件总大小跟df -h查出来的不一致

也就是df -h查出来比如40G系统盘消耗了100%容量, 但是du -h --max-depth=1查出来总计只有15G

明明删了几个文件,磁盘占用还是高达90%。

解决办法用 lsof | grep deleted命令查看是否还有进程在使用那些删了的文件,没有lsof就安装yum -y install lsof

如图可以看到,我已经rm -rf 删了的nginx日志,用lsof | grep deleted查出还是被占用没有完全释放,文件被删除,而进程还活着,因而造成还占用空间的现象

我的磁盘占用是92%; 当我重启nginx,也就是释放了占用的进程,现在磁盘占用是5%;成功解决!

因为我的是nginx,所以我重启nginx就可以了,如果是其它的占用可以根据lsof列出的进程号,kill这些进程后,空间就释放出来了

 

posted @ 2019-02-26 17:36  JahanGu  阅读(4276)  评论(0编辑  收藏  举报