关于poll IO复用求助大神 很多资料都讲poll相较于select而言,突破了文件描述符个数限制,但是我不太明白的是,一个进程能打开的文件描述符是有限制的,系统能打开的文件描述符总个数也是有限制的,为什么就说poll没有文件描述符的限制呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.进程打开的文件描述符个数(ulimit -n), 系统能打开的文件描述符总个数(/proc/sys/fs/file-max) 都是可以手动设置的.2.select支持的最大文件描述个数受宏FD_SETSIZE限制, 这个值默认为1024,所以说 select有文件描述符限制. 这个宏是内核定义的, 修改这个宏需要重编内核,超过默认值可能导致select性能低下.3.poll改进了select的实现, 没有了文件描述符限制, 最大限制就是系统能打开的文件描述符总个数(/proc/sys/fs/file-max)但是其本质和select是相同的, 都是在遍历扫描整个文件描述符集合,当文件描述符太多的时候,自然也就有性能瓶颈, 所以才引入了epoll. 用epoll吧 expect取远程执行命令结果问题 linux 软件动态库问题 udoo X86 Ubunt16.04 系统下SPI、I2C 驱动7寸触摸屏显示 Linux自动化测试工具讨论 LINUX的IP问题 Linux学习之路 Linux可以telnet通数据库端口,但是连不上 Linux 临时文件过大问题 双网卡设备如何设置路由转发? 用Ubuntu进行root 用户切换就这两天一直出现问题,有没有大佬给我支支招,哭了 移植qt4.7 ./configure 报错 请教如何将x86 Linux程序的字节顺序(byte order)编译为大端
2.select支持的最大文件描述个数受宏FD_SETSIZE限制, 这个值默认为1024,所以说 select有文件描述符限制.
这个宏是内核定义的, 修改这个宏需要重编内核,超过默认值可能导致select性能低下.
3.poll改进了select的实现, 没有了文件描述符限制, 最大限制就是系统能打开的文件描述符总个数(/proc/sys/fs/file-max)
但是其本质和select是相同的, 都是在遍历扫描整个文件描述符集合,当文件描述符太多的时候,自然也就有性能瓶颈, 所以才引入了epoll.