java 查看jvm配置_java面试-JVM调优和参数配置,如何查看JVM系统参数默认值

一、JVM的参数类型:

1、标配参数:

java -version

java -help

2、X参数:

-Xmixed 混合模式(先编译后执行)

-Xint  解释执行

-Xcomp 第一次使用就编译成本地代码

d778dbc9e62e6a84081424204f021f52.png

3、XX参数:

Boolean类型:公式:-XX:+ (+表示开启 -表示关闭)

问题:如何查看一个正在运行中的java程序,它的某个JVM参数是否开启?

public class HelloGC {

public static void main(String[] args) throws InterruptedException {

System.out.println("*****helloGC");

Thread.sleep(Integer.MAX_VALUE);

}

}

jps -l

jinfo -flag PrintGCDetails 10729

结果:-XX:+PrintGCDetails,表示开启打印 GC 收集细节(默认不开启)

KV设值类型:公式:-XX:属性key=属性值value=

jps -l

jinfo -flag MetaspaceSize 6932 --若没有配置参数,则查看系统参数默认值

结果:-XX:MetaspaceSize=21807104

jinfo -flag 配置项 进程编号

jinfo -flags 进程编号

87e6d005185b0a6be7fe6101c9d3755a.png

二、如何查看JVM系统参数的默认值

java -XX:+PrintFlagsInitial --查看出厂默认值

java -XX:+PrintFlagsFinal --查看修改更新 (= 没有修改过 := 人为修改过)

java -XX:+PrintFlagsFinal -XX:MetaspaceSize=512m 查看系统参数,并修改元空间大小

java -XX:+PrintCommandLineFlags -version --打印命令行参数(可以看默认垃圾回收器)

结果:-XX:InitialHeapSize=134217728 -XX:MaxHeapSize=2147483648 -XX:+PrintCommandLineFlags

-XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC

java version "1.8.0_111"

Java(TM) SE Runtime Environment (build 1.8.0_111-b14)

Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

三、两个经典参数:-Xms1024m -Xmx1024m谈谈你的理解

-Xms等价于 -XX:initialHeapSize

-Xmx等价于 -XX:MaxHeapSize

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值