一、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内存溢出文件路径
tomcat性能调优参数
"JAVA_OPTS=-Xms512m -Xmx1024m -Xss256K -XX:+DisableExplicitGC -XX:SurvivorRatio=2 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled -XX:LargePageSizeInBytes=128M -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:SoftRefLRUPolicyMSPerMB=0
tomcat有添加相关监控的IP和端口配置例如
-Dcom.sun.management.jmxremote.port=60001
-Djava.rmi.server.hostname=10.4.161.26
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.awt.headless=true
-XX:HeapDumpPath=/a.dump
-XX:+HeapDumpOnOutOfMemoryError"
工具二: