Disk-Usage
儘管有可用空間,但設備上沒有剩餘空間
我無法創建目錄,
$ mkdir 2groups2 mkdir: cannot create directory ‘2groups2’: No space left on device
我什至無法更改目錄
cd <TAB>
導致這個
$ cd -bash: cannot create temp file for here-document: No space left on device
同時,
df
報告超過 9Gb:$ df Filesystem 1K-blocks Used Available Use% Mounted on udev 31428656 0 31428656 0% /dev tmpfs 6288016 9080 6278936 1% /run /dev/xvda1 60923900 51409376 9498140 85% / tmpfs 31440072 276252 31163820 1% /dev/shm tmpfs 5120 0 5120 0% /run/lock tmpfs 31440072 0 31440072 0% /sys/fs/cgroup tmpfs 6288016 0 6288016 0% /run/user/1000
如何解釋?怎麼辦?
哇
df -i
顯示為零:$ df -i Filesystem Inodes IUsed IFree IUse% Mounted on udev 7857164 397 7856767 1% /dev tmpfs 7860018 488 7859530 1% /run /dev/xvda1 7680000 7680000 0 100% / tmpfs 7860018 1 7860017 1% /dev/shm tmpfs 7860018 3 7860015 1% /run/lock tmpfs 7860018 16 7860002 1% /sys/fs/cgroup tmpfs 7860018 4 7860014 1% /run/user/1000
這是什麼意思?
索引節點是對磁碟內文件內容的引用。我喜歡把它們想像成文件頭——它們告訴作業系統文件的一些元數據以及文件包含的實際數據的位置。
在經典的 Unix 文件系統設計中,每個文件系統除了具有固定數量的數據空間外,還具有固定數量的 inode 空間。如果其中任何一個已滿,則將無法在該分區上創建新文件。這是一個非常好的頁面,它解釋了更多關於 inode 以及它們如何有用的資訊:http: //www.grymoire.com/Unix/Inodes.html
使用 inode 的一個範例是將兩個不同的文件指向相同的數據,也稱為硬連結。這以 inode 空間為代價節省了分區中的數據空間。
在 Linux 的
ext2
//文件系統系列中,ext3
每單位磁碟空間的 inode 比率可以在文件系統創建時指定,然後在該文件系統的剩餘生命週期內固定。如果 inode 用完了,可以通過擴展文件系統的總大小來獲得更多,但這可能效率低下。ext4
更現代的文件系統設計(如 XFS)將能夠按需動態創建新的 inode。這種機制的延伸範圍可能有也可能沒有一些限制,因此您應該確保了解您正在使用的文件系統類型的限制。