Linux关于IO部分

成本:

程序不能直接访问硬件:网卡、磁盘(内核来访问的)

内核提供了:sysctl(软中断、硬中断)

strace -ff -o  ./xxx java TestSocket:抓取程序对内核有没有系统调用

 

cd /proc/PID:进程的文件描述

cd task:看有多少个线程

cd fd:文件描述符(0、1、2基本描述输入 输出 错误)

 

netstat -natp 只有服务端只有listen状态

 

nc:可以和任何程序建立连接

 

epoll尽量不浪费CPU

select浪费在循环fd的状态

 

redis io是多线程,使用了epoll的事件响应,串行

 

零拷贝前提:数据不需要加工

你可能感兴趣的:(jvm,linux)