常用命令

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