磁盤空間不足最典型的表現就是: No space left on devicenode
dd if=/dev/zero of=/tmp/sdc bs=1k count=75 mkfs.ext4 /tmp/sdc (不必定都是ext4硬盤,注意) mkdir -p /app/logs mount -o loop /tmp/sdc /app/logs |
[root@chenleilei ~]# df -i /app/logs/ Filesystem Inodes IUsed IFree IUse% Mounted on /tmp/sdc 16 10 6 63% /app/logs [root@chenleilei ~]# df -h /app/logs/ Filesystem Size Used Avail Use% Mounted on /tmp/sdc 65K 2.0K 60K 4% /app/logs |
touch /app/logs/{1..20}.txt (不管文件多少都必需要佔用一個inode和block)
linux
[root@chenleilei ~]# df -happ Filesystem Size Used Avail Use% Mounted onide /dev/sda3 18G 1.5G 16G 9% / oop tmpfs 491M 0 491M 0% /dev/shm測試 /dev/sda1 190M 35M 146M 19% /bootspa /tmp/sdc 65K 3.0K 59K 5% /app/logs日誌 |
......................................................................................略orm
能夠看到餘下容量59k 而後爲了驗證 inode不足也沒法建立文件的真理blog
咱們嘗試建立一個文件:
(有時候出現一個問題 在出現這個報錯的時候仍舊能建立文件,而不能建立文件夾
我想不明白,最後我想到一個 有多是 目錄佔用的block爲4K的緣由吧?? 是否是我也不知道)
以上就是inode耗盡的問題出現.解決辦法就是: 刪除裏面多餘的小文件,在linux系統中
不管文件大小都至少會佔用一個block. 刪除小文件後會大大釋放inode數量.
查看磁盤剩餘容量:
[root@chenleilei logs]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 18G 1.5G 16G 9% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 190M 35M 146M 19% /boot /tmp/sdc 65K 65K 0 100% /app/logs |
查看剩餘的inode數量:
[root@chenleilei logs]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 1201872 55746 1146126 5% / tmpfs 125514 1 125513 1% /dev/shm /dev/sda1 51200 38 51162 1% /boot /tmp/sdc 16 16 0 100% /app/logs |
inode滿了解決辦法: inode滿了多數因爲小文件過多致使,經過find來查找小文件便可,另外日誌文件
是inode滿了的 罪魁禍首,因此通常要多留意 log目錄 使用find 命令來查找小文件並刪除.
磁盤一滿了就會報錯
[root@chenleilei logs]# cp /usr/share/autoconf/m4sugar/m4sh.m4 /app/logs/ cp: writing `/app/logs/m4sh.m4': No space left on device |
查找大文件: ------這個命令是把大文件列出來 讓咱們能一眼看出大文件是哪些,從而採起措施刪除.
[root@chenleilei app]# du -h /app/logs/* | sort -h 9.0K /app/logs/m4sh.m4 55K /app/logs/m4sh.m4f |