JVM常用命令

一、jps

jps是JVM进程查找工具,类似于linux的ps命令。我们使用这个命令主要是为了找到当前正在运行的JVM及其进程ID。
jps支持的参数选项:
在这里插入图片描述

二、jstat

jstat是用于监视JVM各种运行时的状态信息的命令行工具,包括类加载、内存、垃圾收集、即时编译等运行时数据。

D:\workspace\python\cloud_print>jstat -gc 27044 500 10
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT    CGC    CGCT     GCT
 0.0   15360.0  0.0   15360.0 148480.0  9216.0   96256.0     9598.0   49456.0 47304.6 6784.0 5894.4      8    0.058   0      0.000   4      0.006    0.064
 0.0   15360.0  0.0   15360.0 148480.0  9216.0   96256.0     9598.0   49456.0 47304.6 6784.0 5894.4      8    0.058   0      0.000   4      0.006    0.064
 0.0   15360.0  0.0   15360.0 148480.0  9216.0   96256.0     9598.0   49456.0 47304.6 6784.0 5894.4      8    0.058   0      0.000   4      0.006    0.064
 0.0   15360.0  0.0   15360.0 148480.0  9216.0   96256.0     9598.0   49456.0 47304.6 6784.0 5894.4      8    0.058   0      0.000   4      0.006    0.064
 0.0   15360.0  0.0   15360.0 148480.0  9216.0   96256.0     9598.0   49456.0 47304.6 6784.0 5894.4      8    0.058   0      0.000   4      0.006    0.064
 0.0   15360.0  0.0   15360.0 148480.0  9216.0   96256.0     9598.0   49456.0 47304.6 6784.0 5894.4      8    0.058   0      0.000   4      0.006    0.064
 0.0   15360.0  0.0   15360.0 148480.0  9216.0   96256.0     9598.0   49456.0 47304.6 6784.0 5894.4      8    0.058   0      0.000   4      0.006    0.064
 0.0   15360.0  0.0   15360.0 148480.0  9216.0   96256.0     9598.0   49456.0 47304.6 6784.0 5894.4      8    0.058   0      0.000   4      0.006    0.064
 0.0   15360.0  0.0   15360.0 148480.0  9216.0   96256.0     9598.0   49456.0 47304.6 6784.0 5894.4      8    0.058   0      0.000   4      0.006    0.064
 0.0   15360.0  0.0   15360.0 148480.0  9216.0   96256.0     9598.0   49456.0 47304.6 6784.0 5894.4      8    0.058   0      0.000   4      0.006    0.064

上述-gc表示查看垃圾收集状况,其中各列的含义如下(内存空间单位:KB,时间单位:秒):

  • S0C :幸存者0区容量
  • S1C :幸存者1区容量
  • S0U :幸存者0区已使用大小
  • S1U :幸存者1区已使用大小
  • EC :eden区容量
  • EU :eden区已使用大小
  • OC :老年代容量
  • OU :老年代已使用大小
  • MC :元数据空间容量
  • MU :元数据空间已使用大小
  • CCSC:压缩类空间容量
  • CCSU :压缩类空间已使用大小
  • YGC :年轻代GC次数
  • YGCT :年轻代GC耗时合计
  • FGC :整堆GC次数
  • FGCT :整堆GC耗时合计
  • GCT :所有GC耗时合计

jstat支持的参数选项:
在这里插入图片描述

三、jinfo

jinfo用于查看JVM参数信息,并可以实时调整少量可以在运行时改变的参数。

jinfo的输出内容有三部分,分别是:

  • Java System Properties:JVM运行时的环境变量
  • VM Flags:生效的虚拟机参数配置
  • VM Arguments:启动JVM时传入的参数、命令、及当时的对应会话的环境变量

可以使用jinfo -sysprops 只查看JVM运行时的环境变量。

可以使用jinfo -flags 只查看生效的虚拟机参数配置,比如jinfo -flags 10517。

可以使用jinfo -flag 查看指定参数的值,比如jinfo -flag MaxHeapSize 10517。

可以使用jinfo -flag [+|-] 实时开启或关闭某个可以在运行时改变的参数,比如jinfo -flag +HeapDumpOnOutOfMemoryError 10517。

可以使用jinfo -flag =实时修改某个可以在运行时改变的参数的值,比如jinfo -flag MaxHeapFreeRatio=75 10517。

四、jmap

jmap是java内存映像工具,主要用于查询当前堆和方法区的详细信息,生成堆的快照文件等

可以使用jmap -histo[:live] 分析当前对中对象,例如./jmap -histo:live 10517。

可以使用jmap -dump:[live,]format=b,file= 对目标JVM进行快照转储。

五、 jstack

jstack用于生成虚拟机当前时刻的线程快照。生成线程快照主要是为了定位长时间停顿的线程,比如线程间死锁、死循环、请求外部资源超时等等。通过jstack可以查看到各个线程的调用堆栈信息,就可以知道线程目前运行在哪一句代码,在做什么事情或者等待什么资源。

六、 jhsdb

jhsdb除了命令以外,还提供了图形化功能来监视分析JVM状况。

jhsdb使用如下命令开启目标JVM的图形化分析界面:

jhsdb hsdb --pid <pid>

在这里插入图片描述

七、jconsole

jconsole是一款对JVM的可视化监视管理工具,通过它我们可以实时地监视JVM的内存、线程、类加载等信息的变化趋势。

使用下面的命令启动:

jconsole

在这里插入图片描述

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

道法自然 实事求是

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

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

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

打赏作者

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

抵扣说明:

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

余额充值