磁碟空間滿的問題

2022-06-16 04:03:12 字數 1128 閱讀 3066

kinux  os pc 出現磁碟空間不足問題有:

導致該問題的可能原因包括:

執行df -h檢視磁碟使用 以及使用du -sh * 檢視

分析根目錄下每個目錄下面有多少個檔案。

fori in /*; doecho $i;find $i |wc -l; done

df  -i  檢視實際inode 命令

命令重新建立檔案系統,指定inode節點數。

mkfs.ext3 /dev/xvdb -n 1638400

執行以下命令檢視修改後的inode節點數。

dumpe2fs -h /dev/xvdb |grep node

如果磁碟和inode都沒有問題,則需要檢視是否存在未被清除控制代碼的僵死檔案。這些檔案實際上已經被刪除,但是有服務程式在使用這些檔案,導致這些檔案一直被占用,無法釋放磁碟空間。如果這些檔案過多,會占用很大的磁碟空間。

lsof |grep delete |more

就可以檢視

先取消磁碟掛載,再檢查原掛載目錄下的空間占用情況。

df 發現var 目錄下沒有空間可以用,但是du 發現只使用了很少的空間,這是什麼問題?

這就要看df du的實現原理了

du命令會對待統計檔案逐個呼叫fstat這個系統呼叫,獲取檔案大小。它的資料是基於檔案獲取的,所以有很大的靈活性,不一定非要針對乙個分割槽,可以跨越多個分割槽操作。如果針對的目錄中檔案很多,du速度就會很慢了。

df命令使用的事statfs這個系統呼叫,直接讀取分割槽的超級塊資訊獲取分割槽使用情況。它的資料是基於分割槽元資料的,所以只能針對整個分割槽。由於df直接讀取超級塊,所以執行速度不受檔案多少影響。

常見的df和du不一致情況就是檔案刪除的問題。當乙個檔案被刪除後,在檔案系統 目錄中已經不可見了,所以du就不會再統計它了。然而如果此時還有執行的程序持有這個已經被刪除了的檔案的控制代碼,那麼這個檔案就不會真正在磁碟中被刪除, 分割槽超級塊中的資訊也就不會更改。這樣df仍舊會統計這個被刪除了的檔案

crontab導致磁碟空間滿問題的解決

收到磁碟空間滿的資訊。發現主機上 var空間不足。du sh 一層層的查下去看的時候,最終找到了 var spool clientmqueue這個目錄。裡面檔案有48w個,娘阿。這個問題的原因是crontab的一些計畫任務中產生了大量日誌資訊。這些日誌資訊沒有匯入到 dev null或者指定的檔案。...

Linux磁碟空間檢視及空間滿的處理

如果要檢視磁碟還剩多少空間,當然是用df的命令了。root localhost df h 檔案系統 容量 已用 可用 已用 掛載點 dev sda2 14g 11g 2.6g 82 dev sda1 99m 14m 81m 14 boot tmpfs 442m 275m 168m 63 dev sh...

Linux磁碟空間檢視及空間滿的處理

以下 今天在執行r指令碼的時候報了個錯 fatal error cannot create r tempdir 排除了是自己寫的 的問題,想著應該是某個沒見過的原因,google之,發現網上的說法是 tmp資料夾佔滿了磁碟空間。執行 df 命令 第一次碰到這種情況,繼續google之,使用如下命令 ...