測試環境一臺服務器/目錄空間使用率達到97%,可是經過du -sh *發現實際空間沒用到那麼多,初步懷疑,以前刪除的文件,有運行中的進程一直佔用,致使空間沒有釋放,如圖經過du -sh *發現共實際使用不到5G+空間,而經過df -h發現已經使用了45G。html
接着咱們經過lsof命令查找運行中的進程佔用已經刪除的文件(僵死文件。這些文件實際上已經被刪除,可是有服務程序在使用這些文件,致使這些文件一直被佔用,沒法釋放磁盤空間,使用以下命令能夠查看死文件佔用狀況),使用命令服務器
lsof | grep delete |sort -nrk 7|more
注意:sort -nrk 7是將已經刪除的文件進行大小排序運維
15638進程佔用大量的的刪除文件,釋放這些文件,首先查找進程ps -ef|grep 15638,我這個是測試環境,因此我使用kill -9 15638直接殺死進程,再用df -h測試
空間使用率已經降低到11%htm
總結:在平常運維過程當中,若是咱們須要刪除比較大的文件能夠使用> filename,這種能夠直接釋放磁盤空間,使用rm 若是有進程在訪問文件,則有可能出現磁盤空間不釋放的狀況。blog