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

  • 相关阅读:
    会计基础模拟练习2
    Foxmail邮箱最新应用指南
    会计基础第一节内容概述
    会计基础一
    如何解决Linux中Tomcat启动失败
    Linux 打开端口方法(防火墙操作)
    @PathVariable为空时指定默认值
    Thymeleaf 遍历Map 输出Key Value
    thymeleaf中的th:each用法
    Linux后台执行脚本 &与nohup
  • 原文地址:https://www.cnblogs.com/shenjianyu/p/6514788.html
Copyright © 2011-2022 走看看