Chinaunix首页 | 论坛 | 博客
  • 博客访问: 537629
  • 博文数量: 119
  • 博客积分: 3391
  • 博客等级: 中校
  • 技术积分: 981
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-12 11:49
文章分类

全部博文(119)

文章存档

2014年(3)

2013年(1)

2011年(18)

2010年(27)

2009年(70)

我的朋友

分类: LINUX

2010-10-28 13:31:11

一、文件数限制:
    系统所能生成的总的文件数受系统所剩节点数限制,执行
tune2fs -l /dev/sda1(目录所在的分区) |grep inodes
    可以查看剩余节点数
在一台ext3的系统中执行,结果为
Free inodes:              845504
2种解决办法:   
1、重新mkfs,mkfs时将inode数调的多一些(根据你fs中文件的总数而定),块尺寸调得小一些(根据每个文件的平均大小而定)   
2、使用loopback文件系统临时解决   
在/usr中(也可以在别处)创建一个大文件,然后做成loopback文件系统,将原来的文件移到这个文件系统中,并将它mount到/usr下合适的位置。这样可以大大减少你/usr中的文件数目。但是系统性能会有点损失。
3、选用XFS

二、目录数限制:
    RHEL4.3中,在 同一个路径下,一级子目录的个数限制为31998 。如果你的应用生成的目录可能会超过这个数,那要注意进行目录分级。例如,如果目录 名为数字的话,可以将数字除以10000后的整数值做为父目录名(/data/1/13892);如果是目录名为字幕的,可以用前几个字符来做为父一级目 录(/data/ab/abcdefg)等等
解决方法:
 得到一个目录下一级子目录的总数   
ls -F | grep   /   |wc
1、创建子目录
2、linux为了cpu的搜索效率而规定的,要想改变数目大概要重新编译内核.

三、单个目录下文件数限制:
    原来以为linux下单个目录内有文件数量限制,google了一番没有看到明确的说法,到是freebsd下有65535的限制,通过重新编译内核可以更改。(可以看看
/usr/include/sys/syslimits.h)
    不过不建议在一个目录下放太多文件,会影响系统性能。




补充: ulimit -a命令查看所有的限制,并能临时改变限制
阅读(4715) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-10-28 18:05:11

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com