Linux目錄數和文件數限制(目錄下最大文件數)
一、目錄數限制:
在同一個路徑下,一級子目錄的個數限制為 31998 。如果你的應用生成的目錄可能會超過這個數,那要注意進行目錄分級。例如,如果目錄名為數字的話,可以將數字除以10000後的整數值做為父目錄名(/data/1/13892);如果是目錄名為字幕的,可以用前幾個字符來做為父一級目錄(/data/com/idcfree)等等 www.2cto.com
解決方法:
得到一個目錄下一級子目錄的總數
ls -F | grep / |wc
二、 文件數目限制:
每個文件對應一個inodes ,如果iodes沒有了,那就算有空間也不能再寫文件了。
查看當前分區的iodes信息:
tune2fs -l /dev/hda2
Free inodes: 374919
www.2cto.com
解決辦法:
1. 重新mkfs,mkfs時將inode數調的多一些(根據你fs中文件的總數而定),塊尺寸調得小一些(根據每個文件的平均大小而定)
2. 使用loopback文件系統臨時解決
在/usr中(也可以在別處)創建一個大文件,然後做成loopback文件系統,將原來的文件移到這個文件系統中,並將它mount到/usr下合適的位置。這樣可以大大減少你/usr中的文件數目。但是系統性能會有點損失。