【案例12】NC65一直在登录页面转圈,耗时30min以上

问题现象

NC登录一直在转圈,最短需要30多分钟才能进去。

问题分析

通过nmc查看,发现线程被锁住 

生成javacore分析,kill -3 <pid>失效。 所以用jstack -l <pid> 生成线程信息分析。

可以发现大部分线程都被0x00000000d013be30 锁住了

 找到具体线程,发现为线程Thread-64

通过工具分析

Thread-64 一直有堆栈比较异常

at sun.security.provider.NativePRNG$RandomIO.access$300(NativePRNG.java:125)
at sun.security.provider.NativePRNG.engineGenerateSeed(NativePRNG.java:119)

通过查验资料发现为jdk的一个bug。

解决办法

Linux操作系统下SUNJDK1.7051有BUG,使用SUNJDK时需做如下修改:

修改文件$JAVA_HOME/jre/lib/security/java.security

 

 

securerandom.source=file:/dev/urandom 
替换为 
securerandom.source=file:/dev/./urandom

重启整个中间件,最终登录时间从30min优化到2s。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 黑客帝国 设计师:上身试试 返回首页