【JVM】基于JDK命令行监控

JVM参数类型

标准参数

# 此类参数相对比较稳定
-help
-server -client #指定JVM的类型
-version  #就是查看当前机器的java是什么版本,是什么类型的JVM(Server/Client),采用的是什么执行模式。
-showversion #运行一个程序的时候首先把JVM的版本信息打印出来,这样便于问题诊断。个人建议Server类型的程序都把这个选项打开,这样可以发现一些配置问题

非标准化参数

# 可能在JVM的各个版本中会有变化,但是变化的比较小
-Xint #表示禁用JIT,所有字节码都被解释执行,这个模式的速度最慢的
-Xcomp #表示所有字节码都首先被编译成本地代码,然后再执行
-Xmixed #默认模式,让JIT根据程序运行的情况,有选择地将某些代码编译成本地代码。 

非标准化参数,相对不稳定,主要用于JVM调优和Debug

# Boolean类型
# -XX:[+-]<name> 表示启用或者禁用name属性
-XX:+UseConcMarkSweepGC #使用CMS垃圾收集器
-XX:+UseG1GC #使用G1收集器
-XX:+UseParNewGC #在新生代使用并行收集器
-XX:+UseParallelOldGC #老年代使用并行回收收集器
-XX:+UseSerialGC #在新生代和老年代使用串行回收器。 
# 非Boolean类型
# -XX:<name>=<value> 表示name属性的值是value
-XX:MaxGCPauseMillis=500 #最大停顿时间
-XX:InitialHeapSize #初始化堆大小
-XX:MaxHeapSize #最大的堆大小
-XX:ThreadStackSize #堆栈内存大小

查看JVM运行时参数

-XX:+PrintFlagsInitial #初始值,有可能被修改
-XX:+PrintFlagsFinal #最终值
-XX:+UnlockExperimentalVMOptions #解锁实验参数
-XX:+UnlockDiagnosticVMOptions #解锁诊断参数
-XX:+PrintCommandLineFlags #打印命令行参数

命令行工具

jps

#查看Java进程
[root@localhost ~]# jps -l
1092 org.apache.catalina.startup.Bootstrap
2362 sun.tools.jps.Jps

jinfo

#查看最大内存
[root@localhost ~]# jinfo -flag MaxHeapSize 1092
-XX:MaxHeapSize=482344960
#查看垃圾回收器
[root@localhost ~]# jinfo -flag UseG1GC 1092
-XX:-UseG1GC
[root@localhost ~]# jinfo -flag UseParallelGC 1092
-XX:-UseParallelGC

jstat

#类装载 jstat -class Java进程号 间隔时间 打印次数
[root@localhost ~]# jstat -class 1092 1000 10
Loaded  Bytes  Unloaded  Bytes     Time   
  7044 12850.6       29    40.2      39.31
  7044 12850.6       29    40.2      39.31
  7044 12850.6       29    40.2      39.31
  7044 12850.6       29    40.2      39.31
  7044 12850.6       29    40.2      39.31
  7044 12850.6       29    40.2      39.31
  7044 12850.6       29    40.2      39.31
  7044 12850.6       29    40.2      39.31
  7044 12850.6       29    40.2      39.31
  7044 12850.6       29    40.2      39.31
#GC收集情况 jstat -gc Java进程号 间隔时间 打印次数
#类似查询:-gcutil -gccause -gcnew -gcold
[root@localhost ~]# jstat -gc 1092 1000 3
#JIT编译
[root@localhost ~]# jstat -compiler 1092
Compiled Failed Invalid   Time   FailedType FailedMethod
    4428      0       0    27.64          0             
[root@localhost ~]# jstat -printcompilation 1092
Compiled  Size  Type Method
    4428    152    1 org/apache/catalina/core/StandardHost$MemoryLeakTrackingList ener lifecycleEvent
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

女汉纸一枚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值