-Xms5G -Xmx10G :
设
置
堆
栈
内
存
当
-Xms
和
-Xmx
设
置
一样
大的
时
候
可
以有
效
的
解
决
GC
之
后
加
载
,
但
是
对
内
存
不
是
很
友
好
的
管
控
|
-XX
:
MetaspaceSize=256M -XX
:
MaxMetaspaceSize=512M :
设
置
元
空
间
大
小
元
空
间
是
和
堆
栈
分
开
的
是
单
独
存
在
的
。
故
有
时
候
堆
栈
设
置
了
最
大
5G
,
但
实
际
使
用
超
过
5G
。
|
-XX
:
+UseParNewGC -XX
:
+CMSParallelRemarkEnabled
或
者
-XX
:
+UseConcMarkSweepGC
或
者
-XX
:
+UseG1GC -XX
:
MaxGCPauseMillis=200
:
设
置
垃
圾
收
集
器
-XX
:
+HeapDumpOnOutOfMemoryError -XX
:
HeapDumpPath=/usr/tmp/logs
:
发
生
OOM
时
创
建
堆
内
存
转
储
文
件
-XX
:
OnOutOfMemoryError=/opt/app/bin/stop.sh
或
-XX
:
OnOutOfMemoryError=/opt/app/bin/restart.sh
:
发
生
OOM
后
的
操
作
,
记
录
内
存
转
储
文
件
后
,
为
了
管
理
的
需
要
执
行
一
个
合
适
的
操
作
|
-XX
:
PrintGCDetails -Xloggc
:
/usr/tmp/gc.log -XX
:
+PrintGCTimeStamps
:
记
录
GC
日
志
常
用
命
令
介
绍
jmap
:
jmap
不
仅
能
生
成
hprof
文
件
,
还
可
以
查
询
finalize
执
行
队
列
、
Java
堆
和
永
久代
的
详
细
信
息
,
如
当
前
使
用率
、
当
前
使
用
的
是
哪
种
收
集
器
等
。
使
用
方
式
为
jmap option pid
jmap —help
:
jmap
的
使
用
帮
助
jmap -heap pid
:
简
略
打
印
当
前
进
程
中
的
堆
栈
信息
包
括
堆
栈
大
小
。
垃
圾
收
集
器
信
息
,
年
轻
代大
小
老
年
代大
小
以
及
元
空
间
大
小
jmap -histo pid
:
打
印
当
前
堆
栈中
的
Class
的
数
量
jmap -permstat pid
:
Java
堆
内
存的
永
久
保
存
区
域
的
类
加
载
器
的
统
计
信息
jmap -dump
:
live,format=b,file=/usr/mq.hprof pid
:
生
成
当
前
JVM
的
hprof
文
件
jstat
:
JVM
内
建
的
指
令
对
Java
应用
程
序
的
资
源
和
性
能
进
行
实时
的
命
令
行
的
监
控
,
包
括
了
对
Heap size
和
垃
圾
回
收
状
况
的
监
控
jstat -gcutil pid
:
打
印
当
前
JVM
的
GC
次
数
以
及
当
前
堆
栈
的
简
略
信息
S0
:
Heap
上
的
Survivor space 0
区
已
使
用
空
间
的
百
分
比
S1
:
Heap
上
的
Survivor space 1
区
已
使
用
空
间
的
百
分
比
E — Heap
上
的
Eden space
区
已
使
用
空
间
的
百
分
比
O — Heap
上
的
Old space
区
已
使
用
空
间
的
百
分
比
P — Perm space
区
已
使
用
空
间
的
百
分
比
YGC —
从
应用
程
序
启
动到
采
样
时
发
生
Young GC
的次
数
YGCT –
从
应用
程
序
启
动到
采
样
时
Young GC
所
用
的
时
间
(
单
位
秒
)