CentOS 7, Java 1.8.131, Tomcat 7. Эта проблема появляется примерно раз в неделю.Tomcat не может ответить ни на один запрос.Потоки Ajp зависали при чтении AjpMessage из сокета.Он висит в нативном коде.Проблема исчезает при перезапуске tomcat.
при возникновении проблемы я вижу 200 зависающих потоков (tomcat.maxthreads = 200).Как я могу решить эту проблему?
Locked ownable synchronizers:
- <0x00000001198fe520>, (a java/util/concurrent/ThreadPoolExecutor$Worker)
Thread 83765: (state = IN_NATIVE)
- java.net.SocketInputStream.socketRead0(java.io.FileDescriptor, byte[], int, int, int) @bci=0 (Compiled frame; information may be imprecise)
- java.net.SocketInputStream.socketRead(java.io.FileDescriptor, byte[], int, int, int) @bci=8, line=116 (Compiled frame)
- java.net.SocketInputStream.read(byte[], int, int, int) @bci=117, line=171 (Compiled frame)
- java.net.SocketInputStream.read(byte[], int, int) @bci=11, line=141 (Compiled frame)
- org.apache.coyote.ajp.AjpProcessor.read(byte[], int, int) @bci=25, line=312 (Compiled frame)
-