linux系統盤使用率達到100%的問題查找和解決方法
今天公司雲服務器報警系統發來短信,系統磁盤空間不夠,登錄服務器進行查看,磁盤使用慮達到100%,
感覺比較奇怪,所存的東西並不多,怎么會將磁盤占滿,而且數據都是存在數據盤下,通過簡單的進行查看,總體有了些思路,分為三步走:
一、先對系統盤下所有文件大小進行統計,是否真的是數據存儲以達到了磁盤空間
當時對系統盤所有文件進行統計,總共才5.5G的大小,對數據盤進行統計總共才10G左右,就算數據盤的數據算到系統盤下,也沒有超過20G,
那么磁盤占滿的問題並不是所存數據導致的;
二、如果並不是上面問題將磁盤空間占滿,那么進行inode的統計查看
如下圖,對inode查看,使用率8%,沒有占用磁盤過多,表示正常;
三、就是刪除正在使用的文件,空間不釋放的問題
上面的兩個問題都不是磁盤使用率100%的真正原因,那么現在考慮看下空間釋放的問題;
lsof|grep deleted 命令進行查看,如下圖紅框中:
使用kill -9 7512 殺掉對應的進程,再查看下系統盤的空間,表示正常了
真實的原因就是因為磁盤中比較大並且以有在使用的數據,但是在刪除的時候使用的是rm命令直接刪除,導致空間不釋放!!
注意:刪除正在寫的文件一般用 cat /dev/null > file,而不是直接rm(直接rm會造成文件刪除空間不釋放的問題)