当前位置: 技术问答>linux和unix
--------------------请教tcp连接最大个数,大侠请进---------
来源: 互联网 发布时间:2015-07-01
本文导语: server端监听特定tcp端口,clint端来连。 3900个连接以前,server端只是mem使用增加,cpu占用率不高。可一旦连接数达到3980左右的时候,server的cpu占用率突然上升到100%,然后clint端再也连不上了。请大家帮忙分析一下。 ...
server端监听特定tcp端口,clint端来连。 3900个连接以前,server端只是mem使用增加,cpu占用率不高。可一旦连接数达到3980左右的时候,server的cpu占用率突然上升到100%,然后clint端再也连不上了。请大家帮忙分析一下。
|
fork的返回值可能会是-1
3980个连接正好把物理内存消耗光,以后的连接需要使用虚拟内存,操作系统需要频繁换页,所以cpu使用率为100%。当虚拟内存也消耗光了,fork不成功,返回-1
3980个连接正好把物理内存消耗光,以后的连接需要使用虚拟内存,操作系统需要频繁换页,所以cpu使用率为100%。当虚拟内存也消耗光了,fork不成功,返回-1
|
如果server是block在accept()上,就应该是正常的,不应该是server占用cpu.用top看一下是那个进程或者内核占用了cpu. 另外,elkel2004说的有道理,你的fork()没有出错处理。
|
查一下有没有内存泄漏问题。
|
mark study
|
你用ps -ef看一下有没有僵死进程,
|
那是线程吧?我知道老些的内核有限制进程到4096的