网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
天线制作 GPS 地标
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | Open source | GNU | Linux | BSD | Solaris | AIX | HP-UX | IRIX | Mac OS X | Minix | Tru64 | SCO UNIX | Network | Security | X-Window | Database | 应用服务 | Programming | 经典著作 | 永远的纪念 | 杂项
 当前位置: Home > Linux > 文件系统 > 文章  
Linux系统目录数和文件数限制
文章来源: 网络 文章作者: 未知 发布时间: 2007-11-15   字体: [ ]  
 

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

  一 目录数限制

  RedHat Enterprise Linux AS 4.0 Update 3

  在同一个路径下,一级子目录的个数限制为31998,如果你的应用生成的目录可能会超过这个数,那要注意进行目录分级。例如,如果目录名为数字的话,可以将数字除以10000后的整数值做为父目录名 (/data/1/13892),如果是目录名为字母的,可以用前几个字符来做为父一级目录(/data/ab/abcdefg)等等。

  通过以下的命令行可以得到一个目录下一级子目录的总数:

$ ls -F | grep "/" | wc

  解决方法:

  1) 创建子目录

  2) Linux为了cpu的搜索效率而规定的,要想改变数目大概要重新编译内核.

  二 文件数目限制

  每个文件对应一个inode,如果inode没有了,那就算有空间也不能再写文件了。

  通过以下命令行,可以看某个分区的inodes信息:

[root@boss tmp]# tune2fs -l /dev/sda5 | grep "inodes"
Free inodes:              1247005
[root@boss tmp]#

  2种解决办法: 

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

  2) 使用loopback文件系统临时解决

  在/usr中(也可以在别处)创建一个大文件,然后做成loopback文件系统,将原来的文件移到这个文件系统中,并将它mount到/usr下合适的位置。这样可以大大减少你/usr中的文件数目。但是系统性能会有点损失。

  三 单个目录下文件数限制

  原来以为Linux下单个目录内有文件数量限制,Google了一番没有看到明确的说法,到是Freebsd下有65535的限制,通过重新编译内核可以更改。(可以看看/usr/include/sys/syslimits.h)

  不过不建议在一个目录下放太多文件,会影响系统性能。

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

  (参考链接: http://blog.chinaunix.net/u1/34654/showart_331913.html)

 
推荐文章
 
 
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
相关分类
热点文章
·高级文件系统实现者指南
·Linux操作系统下文件系
相关文章
·浅谈关于Linux系统内核
·过Linux系统伪装方法加
·嵌入式Linux操作系统CGI
·基于Linux的嵌入式网络
·基于嵌入式Linux的智能
·恰当选择嵌入式Linux环
·嵌入式Linux系统的MiniG
·揭示恶意的Linux内核模
更多...
 
 

Copyright(c) 2001-2009 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统