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這些進程后,空間就釋放出來了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM