JVM三种类型参数详解

摘要:
1、 概述JVM参数调优是程序员必备的技能。JVM参数主要分为三种类型:1.标准类型:稳定的,如java版本2,X:相对较小的更改3.XX:JVM调优的主要部分2.JVM调优参数XX:类型参数主要分以下两种类型:2.1布尔类型a使用方法为:-XX:[+/-]name Enable+:例如,G1垃圾收集时段已启用-XX:+UseG1GC关闭-:例如,G1垃圾收集周期已关闭-XX:-UseG1GC
一、概述

  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 

示例:

JVM三种类型参数详解第1张

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

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

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

JVM三种类型参数详解第2张

查看设置后的结果

JVM三种类型参数详解第3张

2.3 jinfo命令的使用

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

使用方式:

a、jinfo  -flag name pid

b、jinfo -flags pid

JVM三种类型参数详解第4张

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

 jinfo  -flag InitialHeapSize/MaxHeapSize  pid

2.4 PrintFlags系列参数

 -XX:+PrintFlagsInitial

 -XX:+PrintFlagsFinal

使用示例:

java -XX:+PrintFlagsInitial

其中:

 =  表示默认值

:= 表示修改过的

JVM三种类型参数详解第5张

 三、几个特殊的XX参数

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

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

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

设置方式中没有“=”

JVM三种类型参数详解第6张

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

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

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

免责声明:文章转载自《JVM三种类型参数详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇测试常用shell命令element-ui前端响应式开发下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

jvm之java类加载机制和类加载器(ClassLoader),方法区结构,堆中实例对象结构的详解

一.类加载或类初始化:当程序主动使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载、连接、初始化3个步骤来对该类进行初始化。如果没有意外,JVM将会连续完成3个步骤。 二.类加载时机: 1.创建类的实例,也就是new一个对象 2.访问某个类或接口的静态变量,或者对该静态变量赋值 3.调用类的静态方法 4.反射(Class.forName("com...

JVM 入门指南

一、什么是JVM?JVM: JVM是Java Virtual Machine的缩写,中文翻译为Java虚拟机。JVM 可以看作一台抽象的计算机,如同真实的计算机一样,它有自己的指令集和各种运行时区域。 JVM 是整个 Java 平台的基石,是 Java 技术用以实现硬件无关与操作系统无关的关键部分,是 Java 语言生成的极小体积的编译代码的运行平台,...

定位JAVA进程被kill的原因

哪些原因可能会导致JAVA进程被kill呢? Java应用程序的问题:发生OOM导致进程Crash JVM自身故障:JVM或JDK自身的Bug导致进程Crash 被操作系统OOM-Killer 该如何去排查问题呢? Java应用程序的问题:发生OOM导致进程Crash 这种情况主要取决于研发代码质量,我遇到过的大概有2次。一般情况下,出现OOM异常...

Gradle 源配置

gradle-wrapper.properties distributionBase=PROJECT distributionPath=.gradle/dists zipStoreBase=PROJECT zipStorePath=.gradle/dists distributionUrl=https://services.gradle.org/distr...

JVM 的 Xms 和 Xmx 设置一样大小的内存容量

4. 【推荐】在线上生产环境,JVM 的 Xms 和 Xmx 设置一样大小的内存容量,避免在 GC 后调整堆 大小带来的压力。 现在,我们知道了Elasticsearch所公开的缓存和缓冲区,可以尝试结合这些知识来配置一个高索引和查询吞吐量的集群。接下来的两个小节将讨论在设置集群时,什么可以在默认配置中更改,什么是要注意的。在讨论Elasticsearch...

JVM从零学习(七)方法区

方法区 栈、堆、方法区的关系 运行时数据区结构图 从线程共享与否角度来看 栈、堆、方法区的交互关系 这两幅图中: reference就是person Person就是对象类型数据 new Person就是对象实例数据 方法区的理解 《Java虚拟机规范》中明确说明:”尽管所有的方法区在逻辑上是属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集...