首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java VisualVM 遠程監控配置指南:JMX 與 jstatd 兩種模式

     編輯:Java 相關知識

VisualVM (JDK 6u7+) 整合多種監控功能,支持 JMX 和 jstatd 兩種遠程連接模式。本文詳細說明雙模式配置步驟,助力生產環境 JVM 監控。

模式一:JMX 連接 (功能完整)

服務端配置

  1. 複製 jmxremote.password.template 為 jmx.pwd,末尾添加帳號密碼:jmx jmx
  2. 設置 JVM 參數:
    -Dcom.sun.management.jmxremote.port=6789
    -Dcom.sun.management.jmxremote.pwd.file=/jmx/jmx.pwd
    -Dcom.sun.management.jmxremote.ssl=false
    -Dcom.sun.management.jmxremote.authenticate=false
  3. 重啟應用

客戶端連接

VisualVM → 遠程 → 添加 host:6789,輸入帳號密碼連接。

模式二:jstatd 連接 (輕量、僅采樣)

服務端配置

  1. 創建 /tmp/jstatd.java.policy:
    grant codebase "file:${java.home}/../lib/tools.jar" {
        permission java.security.AllPermission;
    };
  2. 啟動 jstatd:
    jstatd -J-Djava.security.policy=/tmp/jstatd.java.policy -J-Djava.rmi.server.logCalls=true

客戶端連接

VisualVM 自動發現或手動添加主機,僅支持 CPU/內存/線程采樣、堆 Dump,不支持 JMX MBean 操作。

模式對比與選擇

維度JMXjstatd
功能豐富度完整 (MBean、熱點、GC、堆分析)基礎采樣
安全性密碼認證、SSL 可選策略文件控制
防火牆友好固定端口,易穿透RMI 動態端口,難穿透
推薦場景生產環境深度監控快速巡檢、受限網絡

注意事項

  • JDK 7+ VisualVM 功能大幅增強,建議使用最新版
  • 實時堆棧追蹤定位內存洩漏仍不如 JProfiler/YourKit
  • 生產環境務必啟用認證與 SSL
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved