免费注册 查看新帖 |

Chinaunix

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

[proxy] 请教Squid编译文件描述符问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-17 17:14 |只看该作者 |倒序浏览
3.3.1.2 Linux
在Linux上配置文件描述符有点复杂。在编译squid之前,你必须编辑系统include文件中的一个,然后执行一些shell命令。请首先编辑/usr/include/bits/types.h文件,改变_ _FD_SETSIZE 的值:
#define _ _FD_SETSIZE    8192
下一步,使用这个命令增加内核文件描述符的限制:
# echo 8192 > /proc/sys/fs/file-max
最后,增加进程文件描述符的限制,在你即将编译squid的同一个shell里执行:
sh# ulimit -Hn 8192
该命令必须以root运行,仅仅运行在bash shell。不必重启机器。
使用这个技术,你必须在每一次系统启动后执行上述echo和ulimit命令,或者至少在squid启动之前。假如你使用某个rc.d脚本来启动squid,那是一个放置这些命令的好地方

我把ulimit -HSn 65536加入到
/etc/rc.local
启动机器后,以root用户登陆,
ulimit -n
显示仍然为:
1024
但是手动执行ulimit -HSn 65536后
ulimit -n
显示为:
65536

求救各位大牛!!!!!

论坛徽章:
0
2 [报告]
发表于 2008-06-17 21:59 |只看该作者
我可以告诉你,实际上在/etc/rc.local启动的这个bash中文件描述符已经是65536了,只是当你用root登录的时候,是会新用一个bash的,环境变量并没有被传递过来,所以在root环境中你ulimit还是1024,有一个验证的好办法,在/etc/rc.local中先加入ulimit -HSn 65536,在他后面加入/opt/squid/sbin/squid -N &,这时你用root用户登录,然后执行/opt/squid/bin/squidclient -p mgr:info,在输出结果中你会看到文件描述符已经是65536了
通常为了防止root登录后文件描述符还是1024,之时手动启动squid,squid的文件描述符沿用1024,我会编辑~/.bash_profile文件,然后将ulimit -HSn 65536加入,这样,当你用root登录后,文件描述符就自动为65536了
今天看了下squid2.7,其中配置文件中多了个max_filedescriptors参数,可以用来设置文件描述符数量,只要设置的数量不超过在编译时--with-maxfd=这个参数的数就行,这样就不需要设置ulimit了

[ 本帖最后由 liuhanzhao 于 2008-6-17 22:13 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-06-18 00:56 |只看该作者
本页有一个相同的帖子回答了你的问题:
http://bbs.chinaunix.net/thread-1160845-1-1.html

论坛徽章:
0
4 [报告]
发表于 2008-06-18 10:17 |只看该作者
谢谢 两大牛!

论坛徽章:
0
5 [报告]
发表于 2008-06-23 19:54 |只看该作者
原帖由 liuhanzhao 于 2008-6-17 21:59 发表
我可以告诉你,实际上在/etc/rc.local启动的这个bash中文件描述符已经是65536了,只是当你用root登录的时候,是会新用一个bash的,环境变量并没有被传递过来,所以在root环境中你ulimit还是1024,有一个验证的好 ...



二楼下解.
如果你确定1024不够用的话,在编译Squid的时候加上 --with-maxfd=N,就好了,不需要用ulimit那么麻烦来改.

论坛徽章:
0
6 [报告]
发表于 2008-06-23 21:08 |只看该作者
加了那个,如果不用ulimit话,你用squidclient看到的还是1024,不会是你编译的那个
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP