初步判斷應該有兩種情況:一種是block滿了,另一種情況就是inode耗盡了。 首先df -i 查看一下是否耗盡inode/block數量。 虛擬一塊磁碟並格式化: dd if=/dev/zero of=/opt/sdb1 bs=4096 count=100 mkfs -t ext4 /opt/sd ...
初步判斷應該有兩種情況:一種是block滿了,另一種情況就是inode耗盡了。
首先df -i 查看一下是否耗盡inode/block數量。
虛擬一塊磁碟並格式化:
dd if=/dev/zero of=/opt/sdb1 bs=4096 count=100
mkfs -t ext4 /opt/sdb1
將磁碟掛載到/app/log/下
mkdir /app/log -p
mount -t ext4 -o loop,defaults /opt/sdb1 /app/log/
查看使用率情況:
df -i
批量生成文件:
for n in `seq 60`;do touch bqh$n;done
df -h命令查看磁碟使用率時顯示的卻是1%,但此時得用df -i查看是否耗盡了inode。
發現inode數量已耗盡,需要刪除多餘的文件。
如果不知道那個目錄滿瞭如何解決:
find ./ -size 0 先查找到
find ./ -size 0|xargs rm –f 再刪除
存放文件的個數受inode和Block的限制,不能超過。
生活中,存放文件,正常情況下,先把Block耗盡,因為一個文件只占一個inode,但是
可能占多個Block。
當然刪除方法有很多,若遇到大文件數量,如果直接用rm刪除,可能會不讓刪,強行退出,可以
直接刪除上級目錄,然後再創建新目錄,從新授權等,所以得根據實際情況而選擇。