lo 接口上时不时 出现 syn_sent状态sock

问题如下:

 目前能想到的工具有:

  • netstat -antp
  • lsof  -i:port 
  • sar -n SOCK 查看tcp创建的连接数
  • tcpdump

由于是 本地回环接口上出现这个情况,认为排除网络抖动情况,ping lo 接口 网络延时稳定;

ifconfig 接口没有丢包;

查看  somaxconn   tcp_max_syn_backlog  backlog  其值都是大约10024

 出现 syn_sent 的时候 cpu 空闲95% mem 都是正常的

本地回环 出现这个问题 怎么处理??

-------------------------------------------------------------下班----------------------------------------------

 继续看:

使用perf 结果:

对了 使用perf    trace  也是 跟踪系统调用 可以对比 strace 看看

 目前使用工具没有看到丢包情况!!! 只能根据函数调用关系走读代码了!!

 

走读代码发现: 本机上进程间通信使用tcp 没有使用unix域; 同时 ip层处理报文时及时是到lo 接口的报文也会走 相关hook函数;

分析hook函数,发现其可能丢包;

将此时的代码逻辑修改为: 目的地址为127.0.0.1 等lo IP 报文就走原有的Tcp/Ip 协议栈, 

目前

修改后测试正常: 

http代理服务器(3-4-7层代理)-网络事件库公共组件、内核kernel驱动 摄像头驱动 tcpip网络协议栈、netfilter、bridge 好像看过!!!! 但行好事 莫问前程 --身高体重180的胖子
原文地址:https://www.cnblogs.com/codestack/p/14363508.html