epoll和select?epoll 边缘触发。

进程间通信

Liunx多路复用机制

epoll特点、和select区别、底层实现

水平触发、边沿触发

父进程有十个线程fork出的子进程有几个线程 子进程会克隆哪些资源 机器有4G内存,系统本身占1G,如果父进程占用2G内存,fork子进程能否成功 有没有尝试过 进程状态为Z、D是什么意思,为什么会出现 怎么查看程序所占带宽,带宽满了怎么排查是哪个程序

一个机器最多可以向多少个服务器发起请求

一个服务器最多可以处理多少客户端连接,有没有测试过

端口复用是干什么的?

有没有用socket编程?服务器有没有出现TIMEWAIT状态,怎么解决的?为什么nginx不会出现这种问题?➡️端口复用

Linux命令重定向 > 和 »

top命令,netstat命令

消息队列有了解吗

怎么看LINUX的状态

怎么看一个服务的状态

我说ps得到PID,然后NATSTAT这个PID得到连接状态

问感觉后端的话给移动端和给网站的接口有什么差别

一个东西只用单线程会怎么样

怎么查看内存啊怎么看硬盘

linux 查询七天前的日志

linux查询当前目录下最大的前十个个文件

linux的awk命令

shell,如何查看一个进程打开了哪些文件?

shell脚本,输出一个日志文件第五行出现次数最多的五个第五行的内容。

shell :统计今天的日志的个数

shell:统计某某和

查看端口占用

ps -aux | grep

netstat -anp | grep

用户空间和什么空间的区别

管道命令,查询,替换

Linux常用操作命令

自己在linux配过ip吗,ifconfig

查询端口占用用什么命令: lsof、netstat

查看进程: ps

如何查找文件

常用的Linux的命令

Shell

awk 取最后一列怎么写?$0 表示什么? 查看 Linux 内核版本用什么命令?

linux查询内存命令(free能查到哪些内容)

怎么远程连接服务器

linux中软连接和硬链接。硬链接,软链接区别 linux替换命令是什么

如何杀死 test.py进程(我说先用ps查看进程号,然后kill -9 kill掉,然后就问我如何用一行命令杀死)

统计在文件夹/root 下,包含“word”的文件的个数

Linux了解哪些,777代表什么权限

Advanced I/O

Nonblocking I/O

I/O Multiplexing (I/O多路复用)

IO多路复用是什么

IO多路复用哪些方式

select,poll和epoll

其实所有的I/O都是轮询的方法,只不过实现的层面不同罢了.

这个问题可能有点深入了,但相信能回答出这个问题是对I/O多路复用有很好的了解了.其中tornado使用的就是epoll的.

selec,poll和epoll区别总结

基本上select有3个缺点:

  1. 连接数受限
  2. 查找配对速度慢
  3. 数据由内核拷贝到用户态

poll改善了第一个缺点

epoll改了三个缺点.

关于epoll的: http://www.cnblogs.com/my_life/articles/3968782.html

Edge and Level Trigger (边沿触发和水平触发)

边缘触发是指每当状态变化时发生一个 io 事件,条件触发是只要满足条件就发生一个 io 事件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# https://github.com/Lawouach/WebSocket-for-Python/blob/master/ws4py/manager.py

class EPollPoller(object):
    def __init__(self, timeout=0.1):
        """
        An epoll poller that uses the ``epoll``
        implementation to determines which
        file descriptors have data available to read.
        Available on Unix flavors mostly.
        """
        self.poller = select.epoll()
        self.timeout = timeout

Asynchronous I/O