为什么select打开的FD数量有限制,而poll、epoll等打开的FD数量没有限制?

樂天 发布于 2014/08/01 22:58
阅读 809
收藏 0

select、poll、epoll常用来构建性能较好的服务器,其中在性能上select<poll<epoll,除了select,对于另外两个的原理我也是云里雾里。我的主要问题是:为什么select打开的FD数量有限制,而poll、epoll等打开的FD数量没有限制?

当然,更希望各位看官能给出select、poll、epoll的更通俗易懂的关于原理的解释。

希望大神们不吝赐教,在此谢过了。
加载中
1
0-1
0-1

select因为内核代码的限制。不要太纠结。

#define __FD_SETSIZE 1024

0-1
0-1
回复 @樂天 : ulimit -SHn 65535
淡定的wo
淡定的wo
FD被限制是针对进程。自然被限制时,所有事情都是干不了的,除非修改FD限制。
樂天
樂天
我找了些资料,说进程也被限制了打开FD的数量,请问这种限制会不会影响到epoll??
返回顶部
顶部