zoukankan      html  css  js  c++  java
  • suse系统 net-tools导致的问题

    起因 : 公司测试人员发现交易端账号登陆不上,管理端账号一直显示连接中(这个问题最近一周偶尔发现过)

    查看对应日志并没有什么报错,经过排查发现ts这边的日志显示没有连接上broker,对应账号平台端口没有监听

    现象:

    netstat 加上-p选项后,有部分端口没有显示占用该端口的pid和进程名,而以“-”代替。如图。

     

    分析原因:

    这台服务器已经开机一百多天了  ts通过pid连接broker 

     监听过程中 端口就不知不觉没有了账号就一直登录中了

    由于每天8点和20点两次重启脚本会杀死服务然后创建新的服务进程,Linux分配的进程连接的socket id会逐渐增大。当服务器运行较长的一段时间,期间没有进行断电重启时,这个socket id将会超过 INT_MAX (即2^31)。而netstat的源代码中对socket id大于INT_MAX的进程不予处理。

    问题处理:

     应急处理:reboot下机器  使socket id重新刷新

    永久方法:

    使用git上作者提供的patch,对源码进行重新编译打包。已提供rpm包:net-tools-1.60.20120726git-rzrk_1.x86_64.rpm

    升级方式:

    执行:rpm -Uvh net-tools-1.60.20120726git-rzrk_1.x86_64.rpm

    升级后的效果如下图。

    【附加说明】

    这个rpm包可以放在soft包中,和其他rpm包同一个目录,在部署系统时随其他rpm包一起安装。

    单机模式和主备机模式部署时作为可选项,自行决定是否升级。

    分布式模式部署时必须升级net-tools,因为系统监控页面中的进程端口就是通过netstat命令获取的。上述的bug将导致分布式系统监控某些XT服务时显示端口为0

  • 相关阅读:
    缓存雪崩与缓存穿透
    读取表中最大值
    使用vscode在谷歌上运行代码
    elment 中tree组件展开所有和收缩所有节点
    深度系统商店提示无法安装软件依赖错误
    诗词,理解,品论
    《45个十分钟读懂资本论》原文、适合朗读版和个人见解
    《论持久战》全文
    OSError: [WinError 126] 找不到指定的模块。
    C++ 获取序列最大(或最小)的 N 个元素
  • 原文地址:https://www.cnblogs.com/shenjianyu/p/6514788.html
Copyright © 2011-2022 走看看