【发布时间】:2024-04-22 02:15:02
【问题描述】:
是否可以确定 Tomcat 中特定线程上哪个会话处于活动状态?
我正在调查一个随机时间达到 100% CPU 利用率的问题。使用 PSI Probe(和 VisualVM),我发现了两个在 HashMap.getEntry() 中出现死锁的 ajp 线程。这将为我提供堆栈跟踪,但我真的很想找出发起请求的会话以及 URL(如果可能的话)。
【问题讨论】:
是否可以确定 Tomcat 中特定线程上哪个会话处于活动状态?
我正在调查一个随机时间达到 100% CPU 利用率的问题。使用 PSI Probe(和 VisualVM),我发现了两个在 HashMap.getEntry() 中出现死锁的 ajp 线程。这将为我提供堆栈跟踪,但我真的很想找出发起请求的会话以及 URL(如果可能的话)。
【问题讨论】:
就“HttpSession”而言的“会话”可能不会消耗任何资源。很可能您的意思是“请求”而不是“会话”。
如果是这种情况,您可以添加 System.out.println( Thread.currentThread().getName() );
如果与访问日志相比,找到 Thread 对应的 URL 应该相对简单。
【讨论】: