gpt4 book ai didi

java - 在 tomcat 7 线程转储上看到多个 TIMED_WAITING 线程

转载 作者:搜寻专家 更新时间:2023-11-01 03:51:56 28 4
gpt4 key购买 nike

我们一直在监控 tomcat 7 中的线程,最近我们开始发现线程数有时会变成正常值的两倍,即大约 200 个线程(而不是通常的大约 80 个线程)。

进行线程转储后,我看到在线程数量增加期间,由于存在大量(大约 100 个)线程而增加,如下所示(全部在 588cc7d5 上等待):

"http-bio-8080-exec-201" - Thread t@2856
java.lang.Thread.State: TIMED_WAITING
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <588cc7d5> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.LinkedBlockingQueue.poll(Unknown Source)
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(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Locked ownable synchronizers:
- None

有谁知道什么会导致这种行为?

最佳答案

可能您已达到 8080 连接器线程池大小的限制,所有传入请求都堆积在队列中并等待释放的线程。maxThreads 的默认值为 200,但可以在您的配置中更改此值。参见 http://tomcat.apache.org/tomcat-7.0-doc/config/executor.html了解详情。完整的线程转储对于详细信息更有用。

关于java - 在 tomcat 7 线程转储上看到多个 TIMED_WAITING 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24155615/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com