最近网关服务器系统频发soket客户端连接自动断开且 无法再进行通信,开始没有太过深入调查 重启网关既恢复了,但另一天又重复出现,怀疑是不是有线程死锁导致socketserver 服务阻塞,所以仔细分析了下问题, 过程如下:
1. 首先netstat -apn PID |grep port 发现情况:
大量的连接都处于CLOSED_WAIT状态 怀疑服务端没有正常关闭客户端连接。
2.然后jstack pid (jstack 生成当时jvm线程的状态及运行情况) 发现并没有异常信息 ,没有线程处于异常状态。
3.用top -Hp pid 查询进程下所有线程的运行情况(shift+p 按cpu排序,shift+m 按内存排序)