(这条文章已经被阅读了 200 次) 时间:2001-08-27 17:23:17 来源:庞德光 (pdg) 原创-IT
问题的提出:现在网络通信程序都是使用tcp/ip连接的。对于系统来说,一个连到server的用户,就是一个tcp/ip连接。使用TCP/IP的系统,都会遇到最大上线人数限制的问题。现在很多的在线人数一般都是1000人左右,而超过这个数目时,系统都会拒绝连接。
问题的分析:出现连接数的问题,一般都是这种情况下导致的。请检查您的代码,在程序中的这个函数:int select(int maxfd, fd_set *readfds, fd_set *writefds, fe_set *exceptfds, const struct timeval *timeout); 在使用select调用时,常常要用到文件描述符集。而该集合的最大数为1024,通过修改内核的头文件和编译内核,可以改变该集。有关文件描述符集的资料,请参考其他资料。
问题的解决:
1.该集合的宏定义在文件/usr/src/linux/include/linux/posix_types.h下,因此 首先,您得编辑该文件,修改该值,将的FD_SIZE改为65535。
2.重新编译内核。
设置系统内核
1)cd /usr/src/linux
2)make menuconfig (如果没什么改变的话,您退出保存就是了)
编译系统内核
1)make dep
2)make clean
3)make bzImage
4)make modules
5)make modules_install
6)cp arch/i386/boot/bzImage /boot/vmlinuz-kernel_new
7)编辑/etc/lilo.conf,在后面添加如下数据,并设置default=linux_new:
image=/boot/vmlinuz-kernel_new
label=linux_new
read-only
root=/dev/hda1
8)reboot
9)重起后,运行shell 命令打开文件句柄的限制:ulimit -SHn 65535,并在当前shell环境下运行您的游戏或者其他系统。
问题的进一步阐述:
其实不使用select而使用poll也可以方便的监视到超过1024个文件句柄,或者不在一个进程中处理那么多连接,这些都可以提高连接数。在这里我就不阐述了。
初次在这里发表文章,这里高手林立,人才济济,有点班门弄斧的感觉,希望大家不要见笑,给多点支持和鼓励~~~~
文章评论:增大文件描述符集的最大连接数 - incense - 2001-08-27 17:41:30
linux本身确省就作为一种不具备面对庞大用户同时连接处理的系统, 但它的本质就是可以实现这些同时处理的东西,对于很多特殊的请求, 只有通过修改内核的程序来达到我们的要求了。 多谢linux系统的开放性,不过有一点要主意的就是,当你使用和修改 了内核的时候,应该也尊敬别人的劳动,共享自己的代码出来,国内 现在有种很不好的风气,就是将人家的source code修改一下,变成 自己的东西,然后就出来售卖,又不共享出来,违反了linux的初衷, 结果国外很多linux的爱好者对此都非常有意见。 - - - - - - - - - - - - - - - - - - - - - - 欢迎光临我们班级主页.
www.jnucs.com || www.jnucs96.com
RE:文章评论:增大文件描述符集的最大连接数 - 郭轶峰 - 2001-08-27 17:52:01
国内技术水平不行,当然只有修改OPEN SOURCE的东西了,其实我估计国外这种事也少不了,只不过,可能改得好些,从外面看不出来而已。 :【 在incense(李来佳)的大作中提到:】 :linux本身确省就作为一种不具备面对庞大用户同时连接处理的系统, :但它的本质就是可以实现这些同时处理的东西,对于很多特殊的请求, :只有通过修改内核的程序来达到我们的要求了。 : ...... - - - - - - - - - - - - - - - - - - - - - - 永远没有梦的尽头 永远没有不灭幻想
RE:文章评论:增大文件描述符集的最大连接数 - zjxyz - 2001-08-27 18:06:55
我历来都不用国内的linux:) :【 在incense(李来佳)的大作中提到:】 :linux本身确省就作为一种不具备面对庞大用户同时连接处理的系统, :但它的本质就是可以实现这些同时处理的东西,对于很多特殊的请求, :只有通过修改内核的程序来达到我们的要求了。 : ...... - - - - - - - - - - - - - - - - - - - - - -十年磨一劍 霜寒未曾試 /| 今日把示君 ◎■■■■◇|〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓◆ 誰有不平事 \|
RE:文章评论:增大文件描述符集的最大连接数 - incense - 2001-08-27 19:42:49
【(incense)回复(zjxyz)的大作】 我现在钟情于REDHAT 6.2加补丁。:)