我只想知道FreeBSD的kqueue和Linux的epoll以及其他内核空间轮询函数是否是处理套接字和连接的默认操作系统行为?我问这个问题是因为我已经阅读了Erlang网络驱动程序部分的源代码,该部分处理tcp请求,并且有任何kqueue或epoll或类似的东西来轮询来自套接字的事件
kqueue
epoll
vecaoik11#
根据博客文章I/O polling options in OTP 21,从Erlang/OTP 21.0开始,是否使用内核轮询是在编译时决定的(在早期版本中,您可以通过传递+K命令行选项显式激活它)。据我所知,只要您的系统支持,它将默认为on。可以使用system_info检查内核轮询是否已激活:
+K
system_info
> erlang:system_info(kernel_poll). true
1条答案
按热度按时间vecaoik11#
根据博客文章I/O polling options in OTP 21,从Erlang/OTP 21.0开始,是否使用内核轮询是在编译时决定的(在早期版本中,您可以通过传递
+K
命令行选项显式激活它)。据我所知,只要您的系统支持,它将默认为on。可以使用
system_info
检查内核轮询是否已激活: