Gần đây, một trong các máy chủ tomcat sản xuất của chúng tôi không phản hồi vì chuỗi bận rộn của tomcat đã bắn tối đa 200. Khi chúng tôi lấy chuỗi chủ đề trước khi khởi động lại, chúng tôi có 100 chuỗi trong TIMED_WAITING tình trạng như thế này 3 chủ đề:100 chủ đề TIMED_WAITING trong tomcat, khiến nó ngừng hoạt động khi tổng số chủ đề vượt qua 200
""http-bio-7007"-exec-241" daemon prio=10 tid=0x00002aaab107b000 nid=0x59df waiting on condition [0x0000000051239000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x0000000580d877d0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:424)
at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:86)
at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:32)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:662)
""http-bio-7007"-exec-237" daemon prio=10 tid=0x00002aaab186e000 nid=0x596d waiting on condition [0x000000004d1f9000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x0000000580d877d0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:424)
at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:86)
at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:32)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:662)
""http-bio-7007"-exec-236" daemon prio=10 tid=0x00002aaab1118000 nid=0x596c waiting on condition [0x000000004e50c000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x0000000580d877d0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:424)
at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:86)
at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:32)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:662)
Chúng tôi đã hồ chủ đề 4 ứng dụng (ví dụ như hồ bơi-4-thread-20 vv) cũng được có 20 bài mỗi vì vậy tôi không chắc chắn mà chặn xếp hàng những 100 chủ đề chờ đợi ? Chúng tôi đang sử dụng hồ bơi kết nối c3P0 với hibernate mà không có vẻ là nguyên nhân của việc này.
Bất kỳ ý tưởng nào java.util.concurrent.locks.AbstractQueuedSynchronizer $ ConditionObject là gì?
Bạn đã thử lấy một Dump Heap và chạy nó thông qua [MAT] (http://www.eclipse.org/mat/) để xem những gì đối tượng đang tích lũy? –
Hiện tại chúng tôi có cùng một vấn đề. Ngay cả khởi động lại tomcat cũng không giúp được gì. Sau khi khởi động lại evrything làm việc một lần nữa. STRANGE! bị điều tra thêm và sẽ báo cáo nếu tôi thấy điều gì đó thú vị. – Janning
Nó không có gì để làm với hibernate như chúng ta gặp phải vấn đề này tối nay trên trang trại máy chủ hoàn chỉnh của chúng tôi và một số người trong số họ chỉ là máy chủ hình ảnh mà không có bất kỳ hibernate hoặc cơ sở dữ liệu stack. – Janning