昨晚排查了在KVM的build系统中的一个问题,跟踪到后面发现在一个
下mkdir创建目录失败。我手动试了一下,提示如下:cannot create directory `/home/master/jaytemp` too many links
我发现是在一个目录下的一级子目录数量是有
的,遂做了点实验和调查,结合网上
人写的博客,得到如下的一些关于目录个数和文件个数限制的结论。
1.ext3文件系统一级子目录的个数默认为31998(个),准确地说是32000个。
Linux
为了cpu的搜索效率而规定的,要想改变数目限制需要重新编译内核。我看到在kernel代码中有这样的:
include/linux/ext2_fs.h:#define EXT2_LINK_MAX 32000
include/linux/ext3_fs.h:#define EXT3_LINK_MAX 32000
为什么说31998个呢?这是因为mkdir创建一个目录时,目录下默认就会创建两个子目录的,一个是.目录(代表当前目录),另一个是..目录(代表上级目录)。这两个子目录是删除不掉的,“ rm . ” 会得到“rm: cannot remove `.' or `..'”的提示。所以32000-2=31998。
另外,你可以通过如下的脚本来尝试。
#!/bin/bash
mkdir tmp
cd tmp
i=1
while [ $i -lt 35000 ]
do
mkdir $i
if [ $? -ne 0 ]; then
echo "cannot make dir $i"
exit
fi
((i++))
done
|
运行这个脚本,你最后将得到“mkdir: cannot create directory `31999': Too many links”的错误信息。
另外,不建议在一个目录下有太多的文件或者目录,这回降低
查找文件或目录的性能。忽然想起阿里巴巴的图片服务器中将图片的存储按照年月等分为不同的各级子目录而不是在一个目录下,其中一个原因也是出于性能的Linux操作系统考虑。
2.ext3文件系统下单个目录里的最大文件数无特别的限制,是受限于所在文件系统的
inode
数。
我在RHEL5u5的
文件系统中
,在一个目录下,touch了100万个文件是没有问题的。但是肯定会受到所在文件系统的inode数的限制。
df -i /dev/sdaX或者使用tune2fs -l /dev/sdaX或者dumpe2fs -h /dev/sdaX查看可用inode数,后两个命令输出结果是一样的,但是跟df所得出的可用inode数会有些误差,其中原因,我也没搞清楚。
网上有两种解决inode数限制的办法如下,不过我没试过了。
2.1 重新mkfs,mkfs时将inode数调的多一些(根据你fs中文件的总数而定),块尺寸调得小一些(根据每个文件的平均大小而定)
2.2 使用loopback文件系统临时解决:在/usr中(也可以在别处)创建一个大文件,然后做成loopback文件系统,将原来的文件移到这个文件系统中,并将它mount到/usr下合适的位置。这样可以大大减少你/usr中的文件数目。但是系统性能会有点损失。
3.默认打开文件个数(文件描述符)限制(默认是1024个)
ulimit
-n 命令可以查看
修改这个限制可以使用ulimt -SHn 65535 命令
还可以在/etc/security/limit.conf 里设置
打开文件数、进程数、CPU等信息
4.ext3
下filename最大字符长度
(默认255个英文字符)
LENTH=`for i in {1..255};do for x in a;do echo -n $x;done;done`
touch $LENTH
当增加到256时,touch报错,File name too long
linux
系统下ext3文件系统内给文件/目录命名,最长只能支持127个中文字符,英文则可以支持255个字符
参考文档:
http://bbs.chinaunix.net/viewthread.php?tid=1972687
http://www.unixreference.net/articles/linux/fs/2007/1115/651.html
http://it.chinawin.net/os/article-3958.html
昨晚排查了在KVM的build系统中的一个问题,跟踪到后面发现在一个
目录
下
mkdir创建
目录
失败。我手动试了一
下
,提示如
下
:cannot create directory `/home/master/jaytemp` too many
lin
ks我发现是在一个
目录
下
的一级子
目录
数
量是有
限制
的,遂做了点实验
和
调查,结合网上其他人写的博客,得到如
下
的一些关于
目录
个数
和文
件
个数
限制
的结论。1.ext3文...
浏览器打开
一个
目录
下
,到底是可以放多少个
文件
,由两点来决定:
1、inode的空间大小,一个
文件
占用一个inode,一个inode占用128 byte,如果inode空间用完了,就不能建立
文件
了
2、由磁盘空间大小决定。不用我多说,磁盘空间用完了,就不能建
文件
了
这个indoe 值怎么可以改(这是我在其他地方找到的资料)
linux
下
保存
文件
大小界限:
Max fil
浏览器打开
首先,向大家道个歉,小沃也没有好的办法。
linux
中常用的ext4根本不支持这样的设置。但是小沃作为一个ITer,遇到这样的问题必须找到合理的解决方法,否则如何面对广大相信小沃的客户呢。
下
面,我就介绍一
下
小沃用的方法。比如,我现在要
限制
路径为/var/www/www.worldflying.cn这个
目录
只有100M的容量。小沃的办法是让/var/www/www.worldflying.cnmou...
浏览器打开
1
)
FAT16
文件
系统,
可以保存的
文件
体积
最大
值是 4 GB - 1 byte (2^32 bytes - 1 byte);
卷的
最大
体积是4GB;每个卷上最多可以保存的
文件
数
量是65,536个 (2^16);
根
目录
下
可以保存的
文件
和文
件夹
数
量
最大
值是512个
(
如果使用了长
文件
名,该
数
字还会减小
)
2
)
FAT32
文件
系
浏览器打开
ext3
最大
支持32000个
文件
或
目录
,
文件
系统容量
最大
16TB,
单个
文件
ext4是ext3的改进版,ext4无
限制
分别支持1EB
(
1,048,576TB,1EB=1024PB,1PB=1024TB
)
的
文件
系统,以及16TB的
文件
。
具体还
和
系统inode
数
量有关,即使磁
浏览器打开
Linux
目录
数
和文
件数
限制
(
目录
下
最大
文件
数
)
Linux
目录
数
和文
件数
限制
(
目录
下
最大
文件
数
)一、
目录
数
限制
:在同一个路径
下
,一级子
目录
的
个数
限制
为 31998 。如果你的应用生成的
目录
可能会超过这
个数
,那要注意进行
目录
分级。例如,如果
目录
名为
数
字的话,可以将
数
字除以10000后的整
数
值做为父
目录
名(/data/1/13892);如果是
目录
名为字幕的,可以用前几个字符来做为父一级
目录
(/data...
浏览器打开
决定一个
文件
夹
下
能存放多少个
文件
的,是
文件
系统,而不是操作系统。
文件
系统是给硬盘分区格式化时选择的格式。Windows有两种主流的
文件
系统:FAT32
和
NTFSFAT32 标称为单
目录
下
最高支持65534个
文件
,实际到2万+时已不稳定。NTFS 似乎没有明确
限制
单
目录
文件
数
量,但有人反应在生成10万+
文件
的
目录
时遇到报错,想来应该是
和文
件属性(
文件
名等)、磁盘使用状况相关,至于对效率的影响,可以...
浏览器打开
本文主要给大家介绍了关于
linux
最大
打开
文件
数
限制
修改的相关内容,分享出来供大家参考学习,
下
面话不多说了,来一起看看详细的介绍:
linux
会为每个用户登录系统打开
最大
文件
数
都有
限制
, 这个
限制
通过 u
li
mit -n 可以看到, 一般是 1024 .
在一些并发或多线程情况
下
, 需要突破这个
限制
.
第一步 编辑 /etc/security/
li
mits.conf 并确保其包含
下
列行:
* soft nofile 65535
* hard nofile 65535
这里 * 表示所有用户, 但有的系统不认, 需要具体的用户名, 比如:
root soft nofile 6
对于
linux
终端用户而言,统计
文件
夹
下文
件的多少是经常要做的操作,于我而言,我会经常在谷歌搜索一个命令,“如何在
linux
统计
文件
夹的
个数
”,然后点击自己想要的答案,但是有时候不知道统计
文件
夹命令运行的机理,今天花了两个小时看了一
下
鸟哥的
linux
私房菜,看到了管道命令,以及正则化,所以也不难理解如何统计
linux
下文
件夹
下文
件的
个数
以
下
知识点包括管道命令,正则表达式
1.统计
文件
夹
下文
件...
浏览器打开
Ext4的
最大
文件
系统大小为1EB,
最大
文件
大小为16TB.但是,是否可以在
文件
系统级别使
最大
文件
大小更小?例如,我不想允许创建大于指定值的
文件
(例如1MB).如何在ext4上实现这一目标?如果不是ext4,那么任何其他现代
文件
系统都支持这种功能吗?解决方法:ext4有一个max_dir_size_kb挂载选项来
限制
目录
的大小,但是对于常规
文件
没有类似的选项.但是,可以使用setr
li
mit()或...
浏览器打开
我们应用电脑,可我们知道电脑是怎样工作的么?电脑中必不可少的就是操作系统。这里介绍
Linux
的知识,让你学好应用
Linux
系统。今天讲讲
Linux
文件
系统
限制
及特点,希望你记住
Linux
文件
系统
限制
及特点。[@more@]以
下
为红帽ext3
文件
系统所支持的max file size
和
max filesystem size:对
文件
系统的
限制
如
下
:ext3
文件
系统,红帽企业版
Linux
3 的
文件
...
浏览器打开
子
目录
数
太多,会影响搜索性能。
在同一个路径
下
,一级子
目录
的
个数
限制
为31998,如果你的应用生成的
目录
可能会超过这
个数
,那要注意进行
目录
分级。例如,如果
目录
名为
数
字的话,可以将
数
字除以10000后的整
数
值做为父
目录
名 (/data/1/13892),如果是
目录
名为字母的,可以用前几个字符来做为父一级
目录
(/data/ab/abcdefg)等等
目录
占用一个block,一个b...
浏览器打开
1、FAT16
文件
系统,可以保存的
文件
体积
最大
值是 4 GB - 1 byte (2^32 bytes - 1 byte);卷的
最大
体积是4GB;每个卷上最多可以保存的
文件
数
量是65,536个 (2^16);根
目录
下
可以保存的
文件
和文
件夹
数
量
最大
值是512个(如果使用了长
文件
名,该
数
字还会减小)2、FAT32
文件
系统可以保存的
文件
体积
最大
值是 4 GB - 1 byte (2^32 bytes -...
浏览器打开
xfs
文件
系统xfs扩容检查
数
据块大小
和
数
量将XFS
文件
扩展到1986208自动扩展XFS
文件
系统到
最大
的可用大小
xfs扩容
检查
数
据块大小
和
数
量
#检查
数
据块大小
和
数
量
xfs_growfs info /dev/centos/root
将XFS
文件
扩展到1986208
#将XFS
文件
扩展到1986208
xfs_growfs /dev/centos/root -D 1986208
自动扩展XFS
文件
系统到
最大
的可用大小
#自动扩展XFS
文件
系统到
最大
的可用大小
xfs_growfs /dev
浏览器打开
一、
文件
数
限制
:
系统所能生成的总的
文件
数
受系统所剩节点
数
限制
,执行
tune2fs -l /dev/sda1
(
目录
所在的分区
)
|grep inodes
可以查看剩余节点
数
在一台ext3的系统中执行,结果为
Free inodes: 845504
2种解决办法:
1、重新mkfs,mkfs时将inode
数
调...
浏览器打开