网络出现大量:
close_wait
线程类似:
"pool-12-thread-44" prio=10 tid=0x00007fd1f0008800 nid=0x5bd9 waiting for monitor entry [0x00007fd0168ed000]
java.lang.Thread.State: BLOCKED (on object monitor)
at sun.security.util.MemoryCache.put(Cache.java:353)
- waiting to lock <0x00007fd67c192730> (a sun.security.util.MemoryCache)
at sun.security.ssl.SSLSessionContextImpl.put(SSLSessionContextImpl.java:181)
at sun.security.ssl.ServerHandshaker.clientFinished(ServerHandshaker.java:1501)
at sun.security.ssl.ServerHandshaker.processMessage(ServerHandshaker.java:243)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:804)
at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:1004)
- locked <0x00007fd78fe611a0> (a sun.security.ssl.SSLEngineImpl)
at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:884)
at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:758)
- locked <0x00007fd6d0eef410> (a java.lang.Object)
最后确定为jdk小版本的一个bug:【jdk7在u_60修正,JDK6 在6u38修正,JDK8没细看也要注意下】
JDK-8013809 : deadlock in SSLSocketImpl between between write and close
http://bugs.java.com/view_bug.do?bug_id=8013809
JDK 7 u_60 release log
http://www.oracle.com/technetwork/java/javase/2col/7u60-bugfixes-2202029.html