JVM调优与线上问题监控工具安利

JVM调优与线上问题监控工具

首先命令行输入java -version,查看本机的Java版本信息以及JVM相关信息

可以看到的Java8,HotSpot虚拟机,Client模式启动,混合编译模式

XXX>java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) Client VM (build 25.251-b08, mixed mode)

JVM运行参数

JVM的运行参数总的来说可以分为三类:

标准参数:

  • -help
  • -version
  • -server、-client

​ -server、-client 是设置JVM的运行模式的参数。JVM启动会根据硬件与操作系统自动选择运行模式:

  • 32位系统如果是Windows,无论其余硬件配置如何,都默认client模式,其余操作系统如果是2G以上内存并且有2个以上CPU,默认是server模式启动。
  • 64位操作系统默认server模式,不支持client

​ 之前在做GC测试的时候也介绍过,这两种运行模式的区别在于:

  • server模式启动时,堆空间可能默认大一点,JDK9以前默认是UseParallelGC,JDK9以后是UseG1GC。server模式启动慢,运行快
  • client模式初始化堆空间小,默认是UseSerialGC。client模式下,JVM启动速度更快,但是运行速度慢

-X参数(非标准参数),不同JVM版本可能不同。可以在命令行使用java -X命令查看。

  • -Xint、-Xcomp、-Xmixed,这三个参数是JVM启动时的编译模式,默认是mixed混合模式

-Xint:interpreted mode,解释器模式。编译与运行同时进行,在编译Java程序的时候一边编译一边执行,编译多少执行多少

-Xcomp:compile mode,编译模式。JVM在第一次使用时,会把所有的字节码编译成本地代码,即一次性编译完再使用,并且没有启用JIT编译器

-Xmixed:混合模式,解释器模式与编译模式混合使用,由JVM自己决定。

-XX参数(非标准参数,使用频率较高),主要用于jvm调优与debug操作。-XX参数使用有两种方式:

  • 一种是非boolean类型,即key-value

    格式是-XX:key=value,如:

    -XX:newRatio=1

  • 一种是boolean类型

    格式是-XX:[±],+表示启用,-表示禁用。如:

    -XX:+UseSerialGC

JDK四个调优工具

jinfo

jinfo是JDK自带的查看JVM配置参数的工具。

查看所有的JVM配置参数:

jinfo -flags [pid] 

如:

XXX> jinfo -flags 15628
Attaching to process ID 15628, please wait...
Debugger attached successfully.
Client compiler detected.
JVM version is 25.251-b08
Non-default VM flags: -XX:-BytecodeVerificationLocal -XX:-BytecodeVerificationRemote -XX:InitialHeapSize=16777216 -XX:+ManagementServer -XX:MaxHeapSize=268435456 -XX:MaxNewSize=89456640 -XX:MinHeapDeltaBytes=131072 -XX:NewSize=5570560 -XX:OldSize=11206656 -XX:TieredStopAtLevel=1 -XX:+UseFastUnorderedTimeStamps -XX:-UseLargePagesIndividualAllocation
Command line: ....

如果只想查看单个:

jinfo -flag <name> [pid]

jstak

jstak命令可以查看编译统计,GC发生次数,以及加载的类数量。命令格式:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值