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

相關內容