句柄数(linux句柄数指的是什么)
一、socket的fd是什么
fd是(filedescriptor),这种一般是BSDSocket的用法,用在Unix/Linux系统上。
在Unix/Linux系统下,一个socket句柄,可以看做是一个文件,在socket上收发数据,相当于对一个文件进行读写,所以一个socket句柄,通常也用表示文件句柄的fd来表示。
二、为什么linux中监听套接字时最大能监听多少套接字
linux下,抛开性能上的影响,程序监听套接字的数量限制主要几个方面:
1:操作系统方面限制是句柄数量的限制,也就是65535个可用句柄去掉预先保留的,大概在5万个左右,注意文件句柄和套接字句柄是共用的,都在这65535个里面。
2:进程方面的限制,linux系统对单个进程的默认打开句柄数量限制是1024,考虑到文件操作也会占用句柄,可用于socket监听的句柄大概1000个,这个限制可以修改,不同linux版本可能有点不一样,centos是通过命令ulimit-n的方式去修改,要改成10240,就是
3:IO模型的限制,select模型的限制是1024,个,epoll是无限制的,完全根据上面2个的最大值。
三、修改linux的最大文件句柄数限制
通过ulimit-n1000就是当前shell用户所有进程最大文件数为1000,用户级限制通过/etc/security/limits.conf内容为rootsoftnofile1000。