epoll:结合了select与poll的优点,以及优化了它们的不足,来实现同时控制多个句柄,以此来实现多路复用。它也是使用文件系统的相关信息来实现的它所使用的三个系统调用函数1.epoll_create函数创建一个句柄,size大小可不关心,该句柄会占用一个文件描述符位置2.epoll_ctl函数,..
分类:
其他好文 时间:
2016-06-03 23:12:38
阅读次数:
737
epoll 是为处理大量句柄而改进的poll,在UDT中也有支持。UDT使用了内核提供的epoll,主要是epoll_create,epoll_wait,epoll_ctl,UDT定义了CEPollDesc这个结构来管理epoll的描述符和套接字。 struct CEPollDesc { int m ...
分类:
其他好文 时间:
2016-05-21 01:23:31
阅读次数:
249
epol学习笔记 l epoll的相关系统调用 epoll_create() epoll_ctl() epoll_wait() l int epoll_create(int size); 创建一个epoll的句柄。 l int epoll_ctl(int epfd, int op, int fd, ...
分类:
其他好文 时间:
2016-04-03 23:39:07
阅读次数:
243
epoll出现Bad file descriptor的原因 错误的顺序: close(); epoll_ctl(epollfd, EPOLL_CTL_DEL, sockfd, &ev); 正确的顺序: epoll_ctl(epollfd, EPOLL_CTL_DEL, sockfd, &ev); c ...
分类:
其他好文 时间:
2016-04-03 14:32:37
阅读次数:
359
在排查业务 bug 的过程中,看到如下两种输出信息: TCP 连接正常情况下,进行数据读取 14:00:38 epoll_ctl(26, EPOLL_CTL_MOD, 31, {EPOLLIN, {u32=31, u64=31}}) = 0
14:00:38 epoll_wait(26, {{EPOLLIN, {u32=3...
分类:
其他好文 时间:
2015-10-27 17:56:52
阅读次数:
483
wiki:Epoll优点;Epoll工作流程;Epoll实现机制:epollevent;Epoll源码分析;Epoll接口:epoll_create;epoll_ctl;epoll_close;Epoll工作方式:LT(level-triggered);ET(edge-triggered);Epol...
分类:
系统相关 时间:
2015-08-12 21:27:56
阅读次数:
519
1.使用简单:只有4个api函数:epoll_create() epoll_ctl() epoll_wait()个close()
2.支持大规模的socket连接:由于一个socket连接在epoll中是用一个FD(文件描述符)来表示的,所以epoll能支持最大并发连接的数量与linux能打开最大文件数量有关(或者说与内存有关)
3.高效的内存使用策略:
1).当epoll创建的时候,也就是调用epoll_create() 的函数后,会在内核中开辟一定内存空间(和epoll_create()中参数有...
分类:
其他好文 时间:
2015-07-13 12:16:45
阅读次数:
116
epoll提供了ET和LT两种模式,网上文章很多,这里只总结下LT模式下的两个缺点epoll对fd的管理实现是用的红黑树,所以epoll_ctl并不是一个很快的操作,而LT模式更放大了这个缺点。有一个关于内存屏障(Memory barrier)的patch:prevent missed events...
分类:
其他好文 时间:
2015-04-27 21:25:40
阅读次数:
151
epoll极简介绍
epoll_create 创建一个epoll内核对象,返回指向该对象的fd
epoll_ctl 往epoll中添加、删除、修改需要监控的套接字
epoll_wait 等待epoll中的套接字产生可读、可写、异常消息...
分类:
其他好文 时间:
2015-04-09 23:55:44
阅读次数:
361
包含头文件:#include epoll的接口非常简单,一共就三个函数:1. int epoll_create(int size);创建一个epoll的句柄,size用来告诉内核这个监听的数目一共有多大。2.int epoll_ctl(int epfd, int op, int fd, struct...
分类:
其他好文 时间:
2015-01-30 06:37:11
阅读次数:
199