jxnxsdengyu
作者jxnxsdengyu课题专家组·2020-04-07 18:11
系统工程师·江西农信

故障处理---系统目录数量和文件数量限制

字数 1542阅读 4996评论 0赞 2

对于系统管理员来说,了解系统的一些限制是非常有必要的,这样可以根据需要进行必要的参数配置和调整,进而实现更优的性能,对于系统设计人员甚至程序员来说,了解系统的一些限制,也会有助于设计更为合理的存储结构。

一 、目录数量限制

在同一个路径下,操作系统的子目录个数存在上限,此特性跟文件系统类型有关。

AIX系统,JFS/JFS2文件系统的一级子目录个数限制为32767。这个限制定义在/usr/include/sys/limits.h文件中(LINK_MAX-->SHART_MAX=32767))。如果超过这个数量,手动创建目录,会出现如下现象:

testdir: There are too many links to a file.
mkdir: 0653-358 Cannot create testdir.

Linux系统,仅Ext3文件系统存在该上限。

解决方法: 如果你的应用在某个目录下生成的一级子目录数量可能会超过这个数量,那要注意进行目录分级,即创建二级子目录

二 、文件数量限制

每个文件对应一个inode,如果inode耗尽,即便有空间也不能创建文件和目录。

解决办法:重新mkfs,mkfs时将inode数调的多一些(根据你fs中文件的总数而定),块尺寸调得小一些(根据每个文件的平均大小而定)

补充: ulimit -a 命令查看所有的限制,并能临时改变限制。

以下是红帽官方给出的限制:

File systems and storage limitsVersion 3Version 4Version 5Version 6Version 7
Ext3 - Maximum file size2TB2TB2TB2TB2TB
Ext3 - Maximum file system size2TB8TB16TB16TB16TB
Ext3 - Maximum subdirectories3200032000320003200032000
Ext3 - Maximum symlink depth88888
Ext4 - Maximum file size----16TB16TB16TB
Ext4 - Maximum file system size----16TB [1EB]16TB [1EB]50TB [1EB]
Ext4 - Maximum subdirectories----65000/unlimited65000/unlimited65000/unlimited
Ext4 - Maximum symlink depth----888
GFS - Maximum file size2TB16TB [8EB]16TB [8EB]7N/AN/A
GFS - Maximum file system size2TB16TB [8EB]16TB [8EB]7N/AN/A
GFS2 - Maximum file size----100TB [8EB]100TB [8EB]100TB [8EB]
GFS2 - Maximum file system size----100TB [8EB]100TB [8EB]100TB [8EB]
XFS - Maximum file size----100TB [8EB]100TB [8EB]500TB [8EB]
XFS - Maximum file system size----100TB [16EB]300TB [16EB]19500TB [16EB]
XFS - Maximum subdirectories----unlimitedunlimitedunlimited
XFS - Maximum symlink depth----888

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广