1. 程式人生 > >磁盤爆滿

磁盤爆滿

linux 空間 操作系統

linux操作系統中,經常會遇到磁盤空間滿的問題。遇到這樣的問題,先查下是什麽文件過大或過多引起的,至於引起這個更深一層的原因,先不探討

先使用 df -h 查看掛載點情況

du -s -h ./*看下目錄的占用情況(如下圖)。

(或者du -m --max-depth=1或du -h --max-depth=1du:用於統計linux中文件或目錄所占磁盤空間的大小du參數######-
m:以M為單位展示查詢結果
-h:以K、M、G為單位展示查詢結果,提高信息可讀性
--max-depth=1:其中,數字“1”是指查詢結果中最多顯示的目錄層數,這裏指最多顯示一層目錄)

然後,利用此命令,逐層(目錄)深入,這樣就一定會查詢到大文件所在目錄,但也有可能是目錄中文件過多所致。當找到大文件後,若因某些原因,不想對文件進行刪除,可以用echo或cat或clear命令清除文件內容:

echo > /var/log/big.log此命令會把/var/log目錄中的big.log文件內容清除,而又不刪除big.log文件
cat > /var/log/big.log此命令能與“echo > /var/log/big.log”達到相同效果,不過,命令執行後,需要用“Ctrl + d”結束
clear > /var/log/big.log此命令會把big.log文件內容清空,而不刪除文件

==========================================================

另一種情況: 也可能是inode用完了.


用# df -i 可以查看。

真的是inode用完了,磁盤沒法再寫入新的內容了,這個是某些臨時的小文件太多了,把inode用完了,把它刪掉就行了。

# find /var/spool/clientmqueue -type f -print -exec rm -f {} \;
這個命令中 /var/spool/clientmqueue 是要刪除的文件所在的目錄 -type f這個參數限定find只查找普通文件(即不是管道文件,不是塊文件,不是鏈接文件,不是目錄等),防止誤刪除系統文件。

原因分析:系統中有用戶開啟了cron,而cron中執行的程序有輸出內容,輸出內容會以郵件形式發給cron的用戶,而sendmail沒有啟動所以就產生了這些文件;

磁盤爆滿