永久黄网站色视频免费直播,yy6080三理论日本中文,亚洲无码免费在线观看视频,欧美日韩精品一区二区在线播放

Board logo

標(biāo)題: [教程] 限制Linux系統(tǒng)目錄數(shù)和文件數(shù) [打印本頁]

作者: admin    時(shí)間: 2012-1-7 21:49     標(biāo)題: 限制Linux系統(tǒng)目錄數(shù)和文件數(shù)

限制Linux系統(tǒng)目錄數(shù)和文件數(shù)

根據(jù)需要進(jìn)行參數(shù)配置,實(shí)現(xiàn)更優(yōu)的性能,有助于設(shè)計(jì)更為合理的存儲(chǔ)結(jié)構(gòu)。

一 目錄數(shù)限制
RedHat Enterprise LinuxAS

在同一個(gè)路徑下,一級子目錄的個(gè)數(shù)限制為31998,
如果應(yīng)用生成目錄超過這個(gè)數(shù),可以進(jìn)行目錄分級。
例如,目錄名為數(shù)字的話,將數(shù)字除以10000后的整數(shù)值做為父目錄名 (/data/1/13892),
如果是目錄名為字母的,可以用前幾個(gè)字符來做為父一級目錄(/data/ab/abcdefg)

查詢一個(gè)目錄下級子目錄的總數(shù)
$ ls -F | grep “/” | wc

1) 創(chuàng)建子目錄
2) Linux為了cpu的搜索效率而規(guī)定的,要改變數(shù)目要重新編譯內(nèi)核.

二 文件數(shù)目限制
每個(gè)文件對應(yīng)一個(gè)inode,如果inode沒有了,那就算有空間也不能再寫文件了。
查看某個(gè)分區(qū)的inodes信息:
# tune2fs -l /dev/sda5 | grep “inodes”
Free inodes: 1247005

解決辦法:
1) 重新mkfs,mkfs時(shí)將inode數(shù)調(diào)的多一些(根據(jù)你fs中文件的總數(shù)而定),塊尺寸調(diào)得小一些(根據(jù)每個(gè)文件的平均大小而定)
2) 使用loopback文件系統(tǒng)臨時(shí)解決
在/usr中(可以在別處)創(chuàng)建一個(gè)大文件,然后做成loopback文件系統(tǒng),將原來的文件移到這個(gè)文件系統(tǒng)中,并將它mount到/usr下合適的位置。
這樣可以減少/usr中的文件數(shù)目,但是系統(tǒng)性能有損失

三 單個(gè)目錄下文件數(shù)限制
Freebsd下有65535的限制,通過重新編譯內(nèi)核可以更改。(查看/usr/include/sys/syslimits.h)
不建議在一個(gè)目錄下放太多文件,會(huì)影響系統(tǒng)性能。
ulimit -a 命令查看所有的限制,并能臨時(shí)改變限制。

沒有優(yōu)化或修改內(nèi)核的測試,測試平臺(tái):RHEL5U3_x64
測試ext3文件系統(tǒng)下filename最大字符長度

LENTH=`for i in {1..255};do for x in a;do echo -n $x;done;done`
touch $LENTH
當(dāng)增加到256時(shí),touch報(bào)錯(cuò),F(xiàn)ile name too long
linux系統(tǒng)下ext3文件系統(tǒng)內(nèi)給文件/目錄命名,最長127個(gè)中文字符,英文支持255個(gè)字符

測試ext3文件系統(tǒng)下一級子目錄的個(gè)數(shù)限制
RHEL5U3_x64
# for i in {1..32000}; do mkdir $i; done
mkdir: cannot create directory `31999′: Too many links
mkdir: cannot create directory `32000′: Too many links
ext3文件系統(tǒng)一級子目錄的個(gè)數(shù)為31998 (個(gè))。
Linux為了cpu的搜索效率規(guī)定的,要改變數(shù)目要重新編譯內(nèi)核.

測試ext3文件系統(tǒng)下單個(gè)目錄里的最大文件數(shù)
單個(gè)目錄下的最大文件數(shù)沒什么特別限制,受限于所在文件系統(tǒng)的inode數(shù)限制
df -i
或者使用tune2fs -l /dev/sdaX
或者dumpe2fs -h /dev/sdaX 查看可用inode數(shù)

后兩個(gè)命令輸出結(jié)果是一樣的,跟df所得出的可用inode數(shù)會(huì)有些誤差

常用兩種解決辦法:
1 重新mkfs,ext3默認(rèn)block大小4096 Bytes,block設(shè)置小一些inode數(shù)設(shè)置大一些
2 使用loopback文件系統(tǒng)臨時(shí)解決:
在/usr中(也可以在別處)創(chuàng)建一個(gè)大文件,然后做成loopback文件系統(tǒng),將原來的文件移到這個(gè)
文件系統(tǒng)中,并將它mount到/usr下合適的位置。這樣可以大大減少你/usr中的文件數(shù)目,系統(tǒng)性能會(huì)有損失。

測試打開文件數(shù)限制(文件句柄、文件描述符)
ulimit -n 65535設(shè)置,或者/etc/security/limit.conf里設(shè)置用戶打開文件數(shù)、進(jìn)程數(shù)、CPU等

(轉(zhuǎn))




歡迎光臨 WDlinux官方論壇 (http://www.fsowen.com/bbs/) Powered by Discuz! 7.2