轉載請註明出處:
在 Linux 檔案系統中,每一個檔案或目錄都會有一個 inode,它是一個資料結構,用於儲存檔案的後設資料,比如檔案的許可權、所有者、大小、建立和修改的時間等。inode 不包含檔案的實際內容,只包含檔案的後設資料。當你在檔案系統中建立、修改或者刪除檔案時,實際上是在修改或者刪除這個檔案的 inode。
inode 的數量在檔案系統建立時就被定義了,並且不能動態改變。一個檔案系統的 inode 數量通常與檔案系統的容量成正比,通常是 1:16 KB。如果你建立了大量的目錄、符號連結和小檔案,你可能會耗盡 inode。
可以使用 df -i
命令來檢視檔案系統的 inode 使用情況。例如,如果檔案系統掛載在 /
目錄,你可以使用以下的命令來檢視這個檔案系統的 inode 使用情況:
df -i /
在這個命令中,-i
參數列示檢視 inode 的使用情況,/
參數列示檢視掛載在 /
目錄的檔案系統的 inode 使用情況。
執行這個命令後,會看到以下的輸出:
root@test:~# df -i /
檔案系統 Inode 已用(I) 可用(I) 已用(I)% 掛載點
/dev/sda1 43753472 1192187 42561285 3% /
root@test:~#
在這個輸出中,Inodes
列表示檔案系統的總的 inode 數量,IUsed
列表示已經使用的 inode 數量,IFree
列表示還沒有使用的 inode 數量,IUse%
列表示已經使用的 inode 的百分比。
需要注意的是,如果你的檔案系統的 inode 用盡了,即使磁碟上的空間還有很多,你也無法在上面建立新的檔案。這是因為每個新的檔案都需要一個 inode 來儲存它的後設資料。因此,你應該定期檢查你的檔案系統的 inode 使用情況,以避免檔案系統的 inode 用盡。
解決方法:
1.通過df -h 檢視磁碟空間。如果磁碟空間不足也會報這個錯
如果磁碟空間總有存在 100% 的掛載,進行磁碟空間清理
2.通過df -i 檢視可用的indoe。如果inode 使用也會報這個錯:
如果存在100%,也進行冗餘檔案或相關檔案清理,也能解決該錯。