JVM三种类型参数详解

一、概述

  JVM参数调优是程序员必备的技能,JVM的参数主要分为三种类型:1、标准型:稳定,比如java -version   2、X:相对变化较少的  3、XX:JVM调优的主要部分

二、JVM调优参数

  XX:型参数主要分为如下两种

  2.1 Boolean类型的

  a、使用方法是:-XX:[+/-] name

    开启使用+:比如开启G1垃圾回收期  -XX:+UseG1GC  

    关闭使用-:比如关闭G1垃圾回收期   -XX:-UseG1GC

   b、查看方式

  jps:查看程序的pid

  查看是否开启JVM参数:jinfo   -flag  name pid 

示例:

再比如查看新生代向老年代迭代的次数:jinfo -flag MaxTenuringThreshold  pid

 2.2 非boolean类型的:-XX:name= value

 使用方法,比如要设置一个JVM的MetaspaceSize参数:-XX:MetaspaceSize=128m

查看设置后的结果

2.3 jinfo命令的使用

进入jdk的安装命令,查看jinfo的使用帮助:

使用方式:

a、jinfo  -flag name pid

b、jinfo -flags pid

 比如想看一个程序的初始化堆的大小:

 jinfo  -flag InitialHeapSize/MaxHeapSize  pid

2.4 PrintFlags系列参数

 -XX:+PrintFlagsInitial

 -XX:+PrintFlagsFinal

使用示例:

java -XX:+PrintFlagsInitial

其中:

 =  表示默认值

:= 表示修改过的

 三、几个特殊的XX参数

 1、-Xms: min 表示的是初始化堆的参数,等同于  -XX:InitialHeapSize

 2、-Xmx:max 表示最大堆参数,等同于  -XX:MaxHeapSize

 3、-Xss              表示线程堆栈的大小      -XX:ThreadStackSize

设置方式中没有“=”

如果JVM虚拟机memory是12G,一般

-XX:MaxHeapSize是 3.2g,为memory的1/4

-XX:InitialHeapSize是 200M,为memory的1/64

原文地址:https://www.cnblogs.com/chhyan-dream/p/13858107.html