1、添加JVM调试参数
编辑catalina.sh:
JAVA_HOME=/appserver/software/jdk1.8.0_172
JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=512M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/root/temp -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Djava.rmi.server.hostname=192.168.1.179 -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access"
2、说明
JAVA_HOME:指定JDK路径
-server:作为第一个参数,tomcat已服务器方式运行
-Xms:初始Heap堆大小,使用的最小内存
-Xmx:使用的最大堆内存
-XX:PermSize:设定内存永久代区域初始大小
-XX:MaxPermSize:设定内存永久代区域最大值
-XX:+HeapDumpOnOutOfMemoryError:在OutOfMemory时,产生.hprof的Dump文件
-XX:HeapDumpPath:指定dump文件存储路径
-Dcom.sun.management.jmxremote:是否支持远程JMX访问,默认true
-Dcom.sun.management.jmxremote.port:远程访问监听端口号
-Dcom.sun.management.jmxremote.ssl:是否对连接开启SSL加密,默认开启
-Dcom.sun.management.jmxremote.authenticate:是否需要开启用户认证,默认开启
-Djava.rmi.server.hostname:监听主机的IP
-Dcom.sun.management.jmxremote.password.file:监听的用户名和密码
-Dcom.sun.management.jmxremote.access.file:监听的访问控制
JMX在jmeter压力测试时使用
3、jmap命令查看JVM堆栈信息
[root@/appserver/posp/apache-tomcat-8.5.34/bin]#/appserver/software/jdk1.8.0_172/bin/jmap -heap 17959
Attaching to process ID 17959, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.172-b11
using thread-local object allocation.
Parallel GC with 8 thread(s)
Heap Configuration:
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 1073741824 (1024.0MB)
NewSize = 357564416 (341.0MB)
MaxNewSize = 357564416 (341.0MB)
OldSize = 716177408 (683.0MB)
NewRatio = 2
SurvivorRatio = 8
MetaspaceSize = 21807104 (20.796875MB)
CompressedClassSpaceSize = 1073741824 (1024.0MB)
MaxMetaspaceSize = 17592186044415 MB
G1HeapRegionSize = 0 (0.0MB)
Heap Usage:
PS Young Generation
Eden Space:
capacity = 238026752 (227.0MB)
used = 98716008 (94.1429214477539MB)
free = 139310744 (132.8570785522461MB)
41.472652620155905% used
From Space:
capacity = 57671680 (55.0MB)
used = 6121272 (5.837699890136719MB)
free = 51550408 (49.16230010986328MB)
10.61399980024858% used
To Space:
capacity = 59768832 (57.0MB)
used = 0 (0.0MB)
free = 59768832 (57.0MB)
0.0% used
PS Old Generation
capacity = 716177408 (683.0MB)
used = 29939016 (28.55207061767578MB)
free = 686238392 (654.4479293823242MB)
4.180391012836864% used
24466 interned Strings occupying 2771016 bytes.