1. 程式人生 > >jvm記憶體監控工具jconsole配置與記憶體溢位分析

jvm記憶體監控工具jconsole配置與記憶體溢位分析

一、jconsole配置
jconsole.exe是jdk自帶的一款監控jvm的工具,在jdk的bin目錄下
開啟介面如下:
這裡寫圖片描述
其中:監控本地jvm可以在下拉選中選擇,監控遠端jvm需要在tomcat啟動檔案裡新增配置
開啟tomcat/bin目錄,用記事本開啟catalina.sh,在
— Execute The Requested Command ——上方新增

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=60001 -Djava.rmi.server.hostname=172.18.71.225"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"


這幾個配置的含義:
-Dcom.sun.management.jmxremote.port 監測埠號
-Djava.rmi.server.hostname 監測主機名
-Dcom.sun.management.jmxremote.authenticate 是否需要登入驗證
-Dcom.sun.management.jmxremote.ssl 是否安全套接層連線

二、記憶體溢位分析
開啟tomcat/bin目錄,用記事本開啟catalina.sh,在
— Execute The Requested Command ——上方新增

JAVA_OPTS="$JAVA_OPTS -server -Xms500m -Xmx1000m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m
-Djava.awt.headless=true -XX:HeapDumpPath=/usr/local/a.dump -XX:+HeapDumpOnOutOfMemoryError"


這幾個配置的含義:
-Xms 初始化堆記憶體
-Xmx 最大堆記憶體
-XX:PermSize 設定持久代(perm gen)初始值
-XX:MaxPermSize 設定持久代最大值
-XX:MaxNewSize 年輕代最大值
-XX:HeapDumpPath dump記憶體溢位檔案路徑