免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2116 | 回复: 9
打印 上一主题 下一主题

如何突破一个目录下32767个文件的限制 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-31 10:18 |只看该作者 |倒序浏览
我的一个文件服务器存储目录下进行mkdir操作时出现too many links的提示,经查阅相关资料,说是FREEBSD一个目录下最多可创建32767个文件或目录,这个值在/usr/include/sys/syslimits.h中的MAX_LINKS定义,但我在修改这个值为65534后重新编译kernel并安装,却发现这个值依旧变为32767,不知道哪位高手可以解决这一问题

论坛徽章:
0
2 [报告]
发表于 2006-08-31 10:28 |只看该作者
按我的理解,如果你要改KERNEL的默认值,那你应该首先修改
/usr/src/sys/sys/syslimits.h
再重新编译安装。
/usr/include/sys只是为userland准备的。

如果有误,敬请指正。


另外,我不认为一个目录下有几万个文件是个好的设计。最好修改,设计成多层目录,每层目录下最好不要上万。

论坛徽章:
0
3 [报告]
发表于 2006-08-31 10:35 |只看该作者
原帖由 assiss 于 2006-8-31 10:28 发表
按我的理解,如果你要改KERNEL的默认值,那你应该首先修改
/usr/src/sys/sys/syslimits.h
再重新编译安装。
/usr/include/sys只是为userland准备的。

如果有误,敬请指正。


另外,我不认为一个目录下有 ...


我也修改过/usr/src/sys/sys/syslimits.h,但编译安装完毕后/usr/include/sys/syslimits.h中的MAX_LINKS还是为32767

论坛徽章:
0
4 [报告]
发表于 2006-08-31 10:40 |只看该作者
原帖由 aiwei 于 2006-8-31 10:35 发表


我也修改过/usr/src/sys/sys/syslimits.h,但编译安装完毕后/usr/include/sys/syslimits.h中的MAX_LINKS还是为32767

编译安装KERNEL不会重新安装/usr/include/sys里的文件吧?
所以你原来/usr/include/sys里是啥样,安装完新KERNEL之后还是啥样。

论坛徽章:
0
5 [报告]
发表于 2006-08-31 10:43 |只看该作者
现在关键问题在于哪位高手能突破这一限制

论坛徽章:
0
6 [报告]
发表于 2006-08-31 12:00 |只看该作者
没有试过,猜测如下
修改userland与kernel的头文件,重新编译kernel就应该可以。
修改的地方包括MAX_LINKS的数值,以及nlink_t类型的定义,现在是16bit的显然不够,改成32bit。
而且对应文件系统的部分,看看哪里是link的计数,也要修改数据类型。现在UFS的link计数是16bit的。

论坛徽章:
0
7 [报告]
发表于 2006-09-01 09:24 |只看该作者
对UFS的这一限制深感遗憾,都什么年代了,还在用16位的变量

论坛徽章:
0
8 [报告]
发表于 2006-09-01 12:49 |只看该作者
原帖由 aiwei 于 2006-9-1 09:24 发表
对UFS的这一限制深感遗憾,都什么年代了,还在用16位的变量

你不妨看看有几个fs的link计数不是16位的,ext2/ext3/reiserfs....
一个目录下面放那么多的目录只能是自己给自己找麻烦,
为了蹩脚的应用去不合理的修改内核可不是什么好主意。

论坛徽章:
0
9 [报告]
发表于 2006-09-01 15:20 |只看该作者
一个目录下放这么多应该是不合理的

论坛徽章:
0
10 [报告]
发表于 2006-09-01 15:24 |只看该作者
原帖由 mingyanguo 于 2006-9-1 12:49 发表

你不妨看看有几个fs的link计数不是16位的,ext2/ext3/reiserfs....
一个目录下面放那么多的目录只能是自己给自己找麻烦,
为了蹩脚的应用去不合理的修改内核可不是什么好主意。

目录下的文件目录数超过1w就比较影响效率了,一看服务器规划就有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP