天天看點

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

linux磁盤占用達到100%清理記錄

如圖可以看到,我已經rm -rf 删了的nginx日志,用lsof | grep deleted查出還是被占用沒有完全釋放,檔案被删除,而程序還活着,因而造成還占用空間的現象

我的磁盤占用是92%; 當我重新開機nginx,也就是釋放了占用的程序,現在磁盤占用是5%;成功解決!

因為我的是nginx,是以我重新開機nginx就可以了,如果是其它的占用可以根據lsof列出的程序号,kill這些程序後,空間就釋放出來了