计算机IO模型五、网络IO模型

1. lsof -p可以查看某一个进程里面的文件描述符; netstat -antp 可以查看内核态socket建立的过程; tcpdump 是一个运行在命令行下的抓包工具。它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP和其他数据包。

2. 服务端起来之后可以通过netstat -antp命令查看对应端口的状态;

3. 通过tcpdump -nn -i eth0 port 9090 命令可以看到三次握手的详细过程;

4. TCP是面向连接的可靠传输层协议,三次握手之后内核级开辟资源,并且有缓冲区,只是没有分配给对应的进程,资源就代表了所谓的连接;

5. 每个socket都是四元组组成的,四元组是唯一的,程序中的文件描述符对应内核的socket

 

6. BACK_LOG用来配置内核层建立连接的数量;多余这个数量,状态是SYNC,而不是ESTABLISH;

7. 通过tcmdump -nn -i eth0 port 9090进行抓包可以看到三次握手的过程

 

8. tcp中什么叫拥塞:

在某一段时间,如果对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能发生变化,这种情况叫拥塞。

9. trace -ff -o out cmd 命令追踪系统调用过程,关注io的实现;

10. socket底层是四元组,只要保证四元组中有一个是唯一的,就可以建立连接;

11. 应用层创建线程底层是存在系统调用的,也就是调用linux内核的clone方法创建出线程,这块会存在性能的消耗。这个也可以回答关于为什么要用线程池的问题。只有内核级别的线程才能被内核调度。用户级线程关联到内核级线程,内核级线程关联到CPU。java中的线程是内核级别的线程。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值