Java,VisualVM:为基于 Java8 的 Web 应用程序正确设置 VisualVM

Java,VisualVM:为基于 Java8 的 Web 应用程序正确设置 VisualVM

我有一个基于 Java 的 Web 应用程序,已将其部署在我们的一台服务器上。有时,JVM 会因为内存不足错误而死机。该应用程序有点重,因为它大量使用 Cometd(推送机制),并且一些列是加密的。为此,我决定监视该应用程序,但出于某种原因,VisualVM 不会显示采样和 CPU 使用率。它说不支持 JVM。

我遇到的第二个问题是 VisualVM 的更新时间太慢。我想减少它监控的间隔,但也没找到这个选项。

我正在运行 Debian Wheezy,64 位和 Java8-64 位。应用程序容器是 Apache tomcat,数据库是 Postgres。Jstatd 已启动。我是分析和监控方面的新手,任何帮助都很好。

以下是截图。请看一下。

谢谢。

更新

以下是没有下述配置的更新后的屏幕截图:

截屏

我的 catalina.sh 有一些服务器配置,例如:

CATALINA_OPTS="$CATALINA_OPTS -server -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+UseAdaptiveSizePolicy -Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=portnumer -Dcom.sun.management.jmxremote.authenticate=true 
    -Dcom.sun.management.jmxremote.ssl=false"

以下是使用新 GC 进行上述配置后的情况:

新 GC 之后的更新截图

答案1

将它添加到目标 JVM 应用程序对我来说很有用:

-Djava.rmi.server.hostname=localhost

相关内容