不知道应该选择哪种调查方式。 经过一段时间(接近4周),连续运行的Web应用程序运行缓慢。 检查:
catalina.out - no full gc.
常规gc接近0.2秒并在近10-30秒内执行一次。 在同一台服务器上另一台运行良好的Web应用程序的tomcat。 所以问题不在主持人身上。 我真的很困惑。应该检查什么?
答案 0 :(得分:1)
您可以使用visualvm
跟踪tomcat性能,您必须添加JMX参数以允许您将visualvm连接到您的tomcat。
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=8484
-Dcom.sun.management.jmxremote.ssl=false
在visualvm
>> Threads
选项卡您将在右上角Thread Dump
看到一个按钮,此按钮生成一个名为线程转储的文件,此文件包含当前存在的整个线程,生成多个线程转储并跟踪您的应用程序线程,您将清楚地看到慢线程当前正在做什么,这个方法究竟导致了这种缓慢。
我希望这可以帮助你找到缓慢的根本原因。