问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为什么linux中监听套接字时最大能监听多少套接字

发布网友 发布时间:2022-05-01 15:10

我来回答

1个回答

热心网友 时间:2023-10-21 00:08

linux下,抛开性能上的影响,程序监听套接字的数量*主要几个方面:

1:操作系统方面*是句柄数量的*,也就是65535个可用句柄去掉预先保留的,大概在5万个左右,注意文件句柄和套接字句柄是共用的,都在这65535个里面。

2:进程方面的*,linux系统对单个进程的默认打开句柄数量*是1024,考虑到文件操作也会占用句柄,可用于socket监听的句柄大概1000个,这个*可以修改,不同linux版本可能有点不一样,centos是通过命令 ulimit -n 的方式去修改,要改成10240,就是

3:IO模型的*,select模型的*是1024,个,epoll是无*的,完全根据上面2个的最大值。追问可是经常会写listen(socketfd,5)?为什么是5,可以修改大吗?大的话有哪些影响

追答这个问题和套接字的*没什么关系

listen函数的第二个参数是指等待建立连接的队列长度,简单说相当于一个连接缓冲区,每个连接进来,会先放进这个队列,listen从这个队列里面取出未处理的连接进行处理。如果瞬间有一堆连接进来,这个队列又太短不足以容纳这些连接请求,那么多出来的连接请求会被抛弃,也就是连接失败。
因为每个连接的处理时间都很短,所以这个值主要是涉及到瞬间连接很多的时候,这个值太小会导致一批连接失败,太大的话,如果操作系统本身的连接队列就处理不过来,这个值大了也没用,但也没什么坏影响,除了多耗点内存。

对于连接频繁的服务器网络应用来说,这个参数设为5就太小了,可以设为128或者256。有名的网络IO库libevent的这个值就是128。

热心网友 时间:2023-10-21 00:08

linux下,抛开性能上的影响,程序监听套接字的数量*主要几个方面:

1:操作系统方面*是句柄数量的*,也就是65535个可用句柄去掉预先保留的,大概在5万个左右,注意文件句柄和套接字句柄是共用的,都在这65535个里面。

2:进程方面的*,linux系统对单个进程的默认打开句柄数量*是1024,考虑到文件操作也会占用句柄,可用于socket监听的句柄大概1000个,这个*可以修改,不同linux版本可能有点不一样,centos是通过命令 ulimit -n 的方式去修改,要改成10240,就是

3:IO模型的*,select模型的*是1024,个,epoll是无*的,完全根据上面2个的最大值。追问可是经常会写listen(socketfd,5)?为什么是5,可以修改大吗?大的话有哪些影响

追答这个问题和套接字的*没什么关系

listen函数的第二个参数是指等待建立连接的队列长度,简单说相当于一个连接缓冲区,每个连接进来,会先放进这个队列,listen从这个队列里面取出未处理的连接进行处理。如果瞬间有一堆连接进来,这个队列又太短不足以容纳这些连接请求,那么多出来的连接请求会被抛弃,也就是连接失败。
因为每个连接的处理时间都很短,所以这个值主要是涉及到瞬间连接很多的时候,这个值太小会导致一批连接失败,太大的话,如果操作系统本身的连接队列就处理不过来,这个值大了也没用,但也没什么坏影响,除了多耗点内存。

对于连接频繁的服务器网络应用来说,这个参数设为5就太小了,可以设为128或者256。有名的网络IO库libevent的这个值就是128。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 离职后公积金停交了,里面的钱还能还房贷吗 如果还着公积金贷款,突然公积金断了,怎么还贷款呢? Linux 使用 socket 函数建立套接字后,这个套接字文件会放在哪里 公积金贷款的还款过程中,公积金停交后,续交了没扣款怎么办理继续代扣? linux 下创建套接字函数SOCKET()头文件问题。 用住房公积金贷款买房后,住房公积金报停,贷款怎么还 linux中套接字文件丢失怎么办 公积金停了贷款怎么还 怎样用手机进入微信文件夹 如何进入手机微信文件夹? 肥东滑翔伞在哪 合肥到黄麓镇现在怎么坐车 合肥滨湖何时通公交到长临河古镇 长临河镇的地理位置 肥东长临河到湖滨湿地公国有多少公里 肥东长临河到合肥双墩高速口多远 肥东有哪些乡 从苗莆到长临河古镇怎么坐车 从肥西官厅到肥东长临河多少公里 肥东长临河镇到梅陇坝咋走 公积金贷款之后,现在公积金断交了,有什么影响,该怎么办 linux select检测为啥是监听套接字 公积金贷款后,如以后停止缴纳公积金。公积金公司和银行该怎样处理这种情况?利率改变吗? 为什么我我的红米手机照像拍照时不亮灯 linux中关于流式套接字编程代码的解释,求大神把每行代码加上注释,具体一点 红米手机照相时闪光灯怎么不亮 红米k30至尊纪念版相机的闪光灯4种模式都是什么? 手机双卡双待怎么用? Linux编程问题,有关本地域套接字和EPOLL的 linux下如何用socket套接字来代替ping程序来检测终 linux原始套接字怎么从报文提取数据data 求教:怎么将红米手机里面的相机和手电筒同时打开使用 linux一个程序可以创建几个套接字?求大神指点迷津 linux soket编程 服务端 为什么要两个套接字呢 要上高速etc安装时间半年了卡拿下来了一直没用怎么用? 高速公路 ETC 使用疑问。我一周走一次高速,平时我是把卡拔下来,用的时候再插上。还是一直插上? ETC卡不用时拔下二三个月还能用吗? etc长时间没用,设备没移动过,卡一拔一插显示蓝牙已可以正常抬杆吗? 居家瘦的减肥方式如何? 居家一周减肥食谱