一 jmap查看堆结构配置
1.1 逻辑流程
# 查看进程ID
jps -l
# 查看对应的进程ID的堆内存分配
jmap -heap 3725
1.2 案例演示
1.代码
public class AdaptiveSizePolicyTest {
public static void main(String[] args) {
try {
Thread.sleep(1000000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
2.演示操作
PS E:\virtual-iplant-project\jvm-optimise> jps
12592 Launcher
143284 Main
15704
183720 Jps
195544 AdaptiveSizePolicyTest
PS E:\virtual-iplant-project\jvm-optimise> jinfo -flag NewRatio 195544
-XX:NewRatio=2
3.查看:jhsdb jmap --heap --pid 195544
二 新生代与老年代配置
2.1 操作设置比例
堆大小 = 新生代 + 老年代。其中,堆的大小可以通过参数 –Xms、-Xmx 来指定。
默认的,新生代 ( Young ) 与老年代 ( Old ) 的比例的值为 1:2 ( 该值可以通过参数 –XX:NewRatio=2 来指定,就代表老年代和新生代的比例为2:1 ),即:新生代 ( Young ) = 1/3 的堆空间大小。
设置参数:-XX:+PrintGCDetails -XX:NewRatio=5
2.查看log日志:
查看比例关系