gpt4 book ai didi

java - Tomcat Web 应用程序线程转储

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

我有一个在 Tomcat 中运行的生产 Web 应用程序(Struts、iBatis、Hibernate),它会在运行 6 到 7 天后在处理请求时挂起,但在执行线程转储后会再次正常运行。

我很难弄清楚为什么会这样。

我只是想知道是否有其他人遇到过类似的事情。

最佳答案

也许这会帮助您找到问题的原因。

我已经在 tomcat 上启用了 JMX(在启动 tomcat 时设置这些可选的 vm 参数)-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=30188(你想让jmx在tc上运行的任何端口)-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=false

然后我编写了一个小应用程序来监视内存使用情况(通过 jmx)并在内存使用量超过 80% 时通知我。

一旦出现问题,我就会知道。然后我将获得内存中对象的直方图(请参阅 http://java.sun.com/javase/6/docs/technotes/tools/share/jmap.html 了解如何获得)。

最后发现是我的一个 ejbQL 查询导致使用了大量内存。

希望它能以某种方式帮助......

关于java - Tomcat Web 应用程序线程转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2279190/

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