当前位置: 技术问答>linux和unix
Linux服务器增加并发数
来源: 互联网 发布时间:2015-10-29
本文导语: 1、使用的是linux2.4.x内核。 2、accept接收一个连接后启一个线程处理连接。 但在接收到一千个左右连接时出现错误,有印象好像在linux下一个进程内只支持1024个文件句柄,文件句柄资源不够,导致错误。 问: 1、Linux...
1、使用的是linux2.4.x内核。
2、accept接收一个连接后启一个线程处理连接。
但在接收到一千个左右连接时出现错误,有印象好像在linux下一个进程内只支持1024个文件句柄,文件句柄资源不够,导致错误。
问:
1、Linux下一个进程内是否只支持1024个文件句柄。(写了个测试程序测了一下,好像确实是这样)。
2、本想启多个进程,每个进程再启线程,但由于程序历史的原因,放弃了这个方案。
3、听说好像可以通过编译内核解决这个问题,寻求这方面的方法或资料。
4、请问还有没有其它的解决方法啊?
希望各位大虾多多帮忙,谢谢。
2、accept接收一个连接后启一个线程处理连接。
但在接收到一千个左右连接时出现错误,有印象好像在linux下一个进程内只支持1024个文件句柄,文件句柄资源不够,导致错误。
问:
1、Linux下一个进程内是否只支持1024个文件句柄。(写了个测试程序测了一下,好像确实是这样)。
2、本想启多个进程,每个进程再启线程,但由于程序历史的原因,放弃了这个方案。
3、听说好像可以通过编译内核解决这个问题,寻求这方面的方法或资料。
4、请问还有没有其它的解决方法啊?
希望各位大虾多多帮忙,谢谢。
|
设置限制
可以把命令加到profile文件里,也可以在/etc/security/limits.conf文件中定义
限制。
比如
ulimit -n 2048
可以改变最大打开文件数为2048
命令参数
-a 显示所有限制
-c core文件大小的上限
-d 进程数据段大小的上限
-f shell所能创建的文件大小的上限
-m 驻留内存大小的上限
-s 堆栈大小的上限
-t 每秒可占用的CPU时间上限
-p 管道大小
-n 打开文件数的上限
-u 进程数的上限
-v 虚拟内存的上限
可以把命令加到profile文件里,也可以在/etc/security/limits.conf文件中定义
限制。
比如
ulimit -n 2048
可以改变最大打开文件数为2048
命令参数
-a 显示所有限制
-c core文件大小的上限
-d 进程数据段大小的上限
-f shell所能创建的文件大小的上限
-m 驻留内存大小的上限
-s 堆栈大小的上限
-t 每秒可占用的CPU时间上限
-p 管道大小
-n 打开文件数的上限
-u 进程数的上限
-v 虚拟内存的上限
|
谢谢又学到一招
修改内核也可以,可以在网上找找,以前看到过,修改一个文件就可以了,
或者在源码里grep一下1024也可以找到
修改内核也可以,可以在网上找找,以前看到过,修改一个文件就可以了,
或者在源码里grep一下1024也可以找到
|
请给我一点点分