事件源于在服務(wù)器運(yùn)行一個腳本程序… 好好的腳本突然報錯,還以為腳本出現(xiàn)問題了,。細(xì)看報錯原因(具體報錯信息已經(jīng)忘記了),,是沒有可用空間。從沒遇見過這個情況,,怎么辦呢,? 一、確定是不是真的是磁盤空間不足 輸入命令:df –lh 查看磁盤信息 很明顯:Filesystem下的掛載點(diǎn) /dev/xvda1 下的40G容量已經(jīng)耗盡,。 既然問題已經(jīng)確定了,,接下來就是處理了。 處理方法也很簡單,,就是刪文件,。 問:刪除什么文件,? 答:刪除占用磁盤空間大,但又無用的文件,。 問:什么是無用的文件,? 答:如果對系統(tǒng)不熟悉的話,日志可能是你第一的下手目標(biāo),。 二,、如何定位最大文件目錄 輸入命令: cd / 進(jìn)入根目錄。 輸入命令:du -h max-depth=1 尋找當(dāng)前目錄,,哪個文件夾占用空間最大 以上兩個命令之后,,可以看到 /usr 此路徑占用較大磁盤空間,占用了21G,。眼尖的同學(xué)可能看到了最后一項(xiàng)顯示24G,,它表示當(dāng)前目錄所有文件占用磁盤空間總和容量是24G。 如法炮制,,幾番判斷后,,定位到tomcat的日志文件。 由上圖可以判斷,,17G文件在當(dāng)前目錄(tomcat日志目錄)文件中,。 三、如何定位最大文件 輸入命令:ls –lhS 將文件以從大到小順序展現(xiàn) 最終定位文件為:catalina.out 這個日志文件,。 四,、確認(rèn)文件未被占用 刪除文件誰都會:rm –f catalina.out 但是,最好確認(rèn)下是否要下載下來讓開發(fā)人員分析日志,。 辛苦一陣找到文件,,刪除了很開心,輸入命令:df –lh 發(fā)現(xiàn)磁盤空間仍是滿的狀態(tài),。跟圖一完全沒有區(qū)別,。難道說是需要重啟系統(tǒng)嗎?linux會這么不友好么,? 谷歌一下,,發(fā)現(xiàn)了這么一段話: 在Linux或者Unix系統(tǒng)中,通過rm或者文件管理器刪除文件將會從文件系統(tǒng)的目錄結(jié)構(gòu)上解除鏈接(unlink).然而如果文件是被打開的(有一個進(jìn)程正在使用),,那么進(jìn)程將仍然可以讀取該文件,,磁盤空間也一直被占用。 輸入命令:/usr/sbin/lsof|grep deleted 確認(rèn)刪除文件是否被占用 確實(shí)被占用,。根據(jù)第二列提供的pid,,輸入命令:kill -9 13117 殺掉進(jìn)程。 再次輸入命令:df –lh 如圖,,磁盤空間被釋放了,。問題順利處理了,。 |
|