01 JVM的参数类型、jinfo & jps(参数和进程查看)、jstat(类加载、垃圾收集、JIT 编译)

JVM的参数类型

标准参数(各版本中保持稳定)
-help
-server -client
-version -showversion
-cp -classpath
 
X 参数(非标准化参数)
-Xint:解释执行
-Xcomp:第一次使用就编译成本地代码
-Xmixed:混合模式,JVM 本身决定是否编译成本地代码
示例:
java -version(默认是混合模式)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
java -Xint -version
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, interpreted mode)
 
XX 参数(非标准化参数)
主要用于 JVM调优和 debug
  • Boolean类型
  • 非Boolean类型
格式:-XX:<name>=<value> 表示 name 属性的值是 value
如:-XX:MaxGCPauseMillis=500
-XX:GCTimeRatio=19
-Xmx -Xms属于 XX 参数
-Xms 等价于-XX:InitialHeapSize
-Xmx 等价于-XX:MaxHeapSize
-xss 等价于-XX:ThreadStackSize 

查看

jinfo -flag MaxHeapSize <pid>
-XX:+PrintFlagsInitial
-XX:+PrintFlagsFinal
-XX:+UnlockExperimentalVMOptions 解锁实验参数
-XX:+UnlockDiagnosticVMOptions 解锁诊断参数
-XX:+PrintCommandLineFlags 打印命令行参数
输出结果中=表示默认值,:=表示被用户或 JVM 修改后的值
示例:java -XX:+PrintFlagsFinal -version
 
补充:测试中须要用到 Tomcat,CentOS 7安装示例以下
pid 可经过相似 ps -ef|grep tomcat或 jps来进行查看

jps

详情参考  jps官方文档
-l

jinfo

jinfo -flag MaxHeapSize <pid>
jinfo -flags <pid>
 

jstat

详情参考 jstat 官方文档html

JAVA生产环境性能监控与调优
类加载

垃圾收集

-gc, -gcutil, -gccause, -gcnew, -gcoldjava

如下大小的单位均为 KBapache

S0C, S1C, S0U, S1U: S0和 S1的总量和使用量tomcat

EC, EU: Eden区总量与使用量oracle

OC, OU: Old区总量与使用量app

MC, MU: Metacspace区(jdk1.8前为 PermGen)总量与使用量xss

CCSC, CCSU: 压缩类区总量与使用量性能

YGC, YGCT: YoungGC 的次数与时间测试

FGC, FGCT: FullGC 的次数与时间ui

GCT: 总的 GC 时间

JIT 编译

-compiler, -printcompilation
相关文章
相关标签/搜索