Linux文件描述符限制
来源:互联网 发布:算法设计中文版 编辑:程序博客网 时间:2024/05/16 15:55
http://blog.chinaunix.net/uid-18933439-id-2808686.html
公司在近期新增了一台电信-网通双网服务器,该服务器安装SQUID来实现双网HTTP代理,配置完成测试时功能正常,可以使用该代理访问页面及公司业务,于是把该服务器切到生产环境,在生产环境中问题显露出来,有效连接数始终在1200左右上不去,查看系统及SQUID日志时发现,在 SQUID日志中出现大量的“WARNING! Your cache is running out of filedescriptors”,从日志的字面上看应该是文件描述符方面的问题,于是使用ulimit -n查看系统配置的最大文件描述符为“1024” ,再使用lsof -p <Squid PID> |wc -l查看文件符使用情况,发现原来文件描述符已经完全使用了。
问题解决方案如下:
默认Linux系统的文件描述符是1024,对于squid等一些服务来说,在高负载的情况下这些文件描述符是远远不够的,所以在部署该类服务器时修改文件描述符是必要进行的操作,linux中有修改最大文件描述符的方式有两种:
一,通过ulimit命令修改
##显示当前文件描述符
ulimit -n
ulimit -n
##修改当前用户环境下的文件描述符为65536
ulimit -HSn 65536
ulimit -HSn 65536
可以使用以下命令,使其随系统启动时加载
echo "ulimit -HSn 65536" >>/etc/rc.local
使用ulimit命令的缺点:
1、只能修改当前登录用户环境下的文件描述符,如果此用户打开另一个连接,则此链接环境的文件描述符仍然是默认情况的数值;
2、系统重启后,该设置将会失效
二,修改limits.conf文件,永久更改系统文件描述符最大值
vi /etc/security/limits.conf文件,在最后加入如下两行
* soft nofile 65536
* hard nofile 65536
* hard nofile 65536
或者使用下列命令直接插入:
echo "* soft nofile 65536" >>/etc/security/limits.conf
echo "* hard nofile 65536" >>/etc/security/limits.conf
这样任何用户连接都是变为修改的值。
0 0
- Linux文件描述符限制
- linux文件描述符1024限制
- Linux select 文件描述符1024限制
- 文件描述符限制
- 修改Linux系统下的最大文件描述符限制
- 修改Linux系统下的最大文件描述符限制
- linux下最大文件描述符的限制
- linux对文件描述符的种种限制
- Linux进程关于文件描述符的数量限制
- Linux进程关于文件描述符的数量限制
- 更改linux的最大文件描述符限制
- 修改Linux系统下的最大文件描述符限制
- 修改Linux系统下的最大文件描述符限制
- 查看、修改linux系统的最大链接数限制、文件描述符限制、端口范围限制、虚拟内存等
- 查看、修改linux系统的最大链接数限制、文件描述符限制、端口范围限制、虚拟内存等
- [Shell]突破文件描述符1024限制
- 文件描述符限制的设置
- MySQL打开的文件描述符限制
- hdu1164
- Dijkstra
- javaGUI编程-----鼠标键盘监听
- NYOJ995硬币找零
- android sdk 如何重新生成debug.keystore
- Linux文件描述符限制
- HDU 1178 Heritage from father
- levelDB源码笔记(1)-TEST
- php,与ucenter同步用户登录,注册的教程
- 谈谈编程思想
- 超有创意的设计网站:http://www.tagxedo.com/,将字体设设计成图片---ShinePans
- 世界上最权威的68句创业名言
- 漂亮的html表格
- ZOJ-1455