1、打开bin文件夹下的catalina.sh文件
2、在cygwin=false前添加以下信息 tomcat版本不同“CATALINA_OPTS”部分有所差异
CATALINA_OPTS=“-Dfile.encoding=UTF-8 -server -Xms16g -Xmx16g -XX:NewRatio=2 -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=15 -XX:+UseG1GC”
3、使用jmap -heap pid 查看堆栈使用情况
Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 17179869184 (16384.0MB)//堆栈内存大小-Xmx16g
NewSize = 8589934592 (8192.0MB) //新生代堆栈初始大小由新生代老年代比例决定
MaxNewSize = 8589934592 (8192.0MB)//新生代堆栈最大大小
OldSize = 8589934592 (8192.0MB)//老年代堆栈大小由新生代与老年代比例决定
NewRatio = 1//-XX:NewRatio=1(新生代与老年代比例)
SurvivorRatio = 8//-XX:SurvivorRatio=8(新生代Eden区与Survivor区的比例)
MetaspaceSize = 21807104 (20.796875MB)
CompressedClassSpaceSize = 1073741824 (1024.0MB)
MaxMetaspaceSize = 17592186044415 MB
G1HeapRegionSize = 0 (0.0MB)
Heap Usage:
PS Young Generation
Eden Space://新生代Eden区
capacity = 6872367104 (6554.0MB)
used = 2612011784 (2491.0085525512695MB)
free = 4260355320 (4062.9914474487305MB)
38.007454265353516% used
From Space://新生代Survivor区之一
capacity = 858783744 (819.0MB)
used = 0 (0.0MB)
free = 858783744 (819.0MB)
0.0% used
To Space:新生代Survivor区之二
capacity = 858783744 (819.0MB)
used = 0 (0.0MB)
free = 858783744 (819.0MB)
0.0% used
PS Old Generation //老年代
capacity = 8589934592 (8192.0MB)
used = 56401696 (53.788848876953125MB)
free = 8533532896 (8138.211151123047MB)
0.6566021591424942% used
4、-XX:-UseAdaptiveSizePolicy此命令可由虚拟机自动选择新生代新生代Eden区与Survivor区的比例。
5、如果指定了-Xmn4g,新生代的大小为指定的大小, -XX:NewRatio=1将不起作用