zoukankan      html  css  js  c++  java
  • 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的胖子
  • 相关阅读:
    【原创】C++11:左值和右值(深度分析)
    【基础核心理论】运算符重载
    左值与右值引用 详解
    托盘图标编程
    C/C++ 数组与指针
    webpack 4.0改版问题
    mysql5.7安装记录
    equals方法
    【原创】IO流:读写操作研究(输入流)
    为什么重写equals一定要重写hashCode?
  • 原文地址:https://www.cnblogs.com/codestack/p/14363508.html
Copyright © 2011-2022 走看看