增大Linux的socket最大连接数(针对select,要编译内核)
来源:互联网 发布:康佳lc47d560dc 网络 编辑:程序博客网 时间:2024/05/22 02:14
最近接的项目是模拟多个socket 客户端与服务器进行通信。由于Linux 系统的限制,在linux/include/linux/posix_types.h文件中有如下的宏定义:
#undef __FD_SETSIZE
#define __FD_SETSIZE 1024
这个宏是对最大文件描述符的定义为1024。当需要1024个以上的fd时,例如select()函数就会侦听出错。因此需要将1024改成需要的数目,但最多不能超过65535。但仅仅修改这个是不够的。
第二步就需要修改一个进程最大打开的文件数。其具体步骤是:
1、cd /usr/src/linux-2.4/include/linux
2、vi limits.h 编辑文件:
#define NR_OPEN 90240 原值为1024
#define OPEN_MAX 10240 原值为1024
3、vi fs.h
#define INR_OPEN 10240 原值为1024
#define NR_FILE 65536 原值为8192,这个值为内存64/1M的比率计算,1G内存计算为:64*1024
#define NR_RESERVED_FILES 128 原值为10.
4、cd /usr/src/linux-2.4/include/net
5、vi tcp.h
#define TCP_LHTABLE_SIZE 128 原值为32.便于listen侦听队列,设大。
设置最大打开文件数与内存相关,太大系统会变慢。
第三步就是编译内核,其具体步骤是:
1. make clean
2. make
3. make dep
4. make bzImage
将bzImage 导入/boot 重启系统即可!
用 1024个以上客户端与服务器进行连接,在服务器的终端用netstat |wc 命令可以统计出当前建立的socket的连接数。
阅读全文
0 0
- 增大Linux的socket最大连接数(针对select,要编译内核)
- 增大Linux的socket最大连接数(针对select,要编译内核)
- 增大Linux的socket最大连接数
- 增大Linux的socket最大连接数
- 增大Linux的socket最大连接数
- 增大apache 2的最大连接数
- windows XP 增大 IIS的最大连接数
- 增大mysql的连接数
- Linux配置支持高并发TCP连接(socket最大连接数)及优化内核参数
- Linux配置支持高并发TCP连接(socket最大连接数)及优化内核参数
- 修改Linux可支持的socket最大连接数
- 修改Linux可支持的socket最大连接数
- 修改linux最大socket连接数
- SOCKET-linux中高并发socket最大连接数的优化详解
- 如何增大Redis的客户端连接数?
- 如何增大Redis的客户端连接数?
- Linux下增大可打开文件描述符的最大数
- Windows Socket 最大连接数
- CodeForces
- C#继承
- centos6.7系统中zabbix3.0的安装
- 最高的奖励
- (二分) Strange fuction--HDOJ
- 增大Linux的socket最大连接数(针对select,要编译内核)
- windows安装clang
- Blockchain的鱼和熊掌系列(18) 之 openssl 问题
- 分享一个excel的导入
- JS常用属性方法大全
- Python性能优化建议
- 判断扫码的时候是支付宝还是微信
- CodeForces 427 D.Match & Catch(后缀数组)
- RTMP协议中文翻译