常用命令
wenking 7/11/2023 JVM
# 操作命令
# 查看堆信息
jmap -heap pid
1
# 打印gc信息
jstat -gc pid milsec
1
# 查看堆内存中对象占用大小排序(前20名)
jmap -histo 7276 | head -n20
1
# 服务启动堆内存参数调整
# 堆内存的初始大小
-Xms
# 堆内存的最大大小
-Xmx
# 堆内存新生代大小 -Xmx - -Xmn 即为老年代大小
-Xmn
# 空闲堆空间的最小百分比, 计算公式为:HeapFreeRatio =(CurrentFreeHeapSize/CurrentTotalHeapSize) * 100;
# HeapFreeRatio < MinHeapFreeRatio 则需要进行堆扩容,扩容的时机应该在每次垃圾回收之后。
-MinHeapFreeRatio
#如果HeapFreeRatio > MaxHeapFreeRatio,则需要进行堆缩容,缩容的时机应该在每次垃圾回收之后。
-MaxHeapFreeRatio
# windows 修改启动参数 catalina.sh
set "JAVA_OPTS=%JAVA_OPTS% -server -Xms5120m -Xmx10240m -XX:MetaspaceSize=512m -XX:CompressedClassSpaceSize=1g"
# linux 修改启动参数 catalina.sh
JAVA_OPTS="$JAVA_OPTS -server -Xms4096m -Xmx6144m -XX:MetaspaceSize=512m -XX:CompressedClassSpaceSize=1g"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20