JVM中jps与jstat等指令用法

1.jps命令

(java process Status Tool), Java版的ps命令,查看java进程及其相关的信息,如果你想找到一个java进程的pid,那可以用jps命令替代linux中的ps命令了,简单而方便。

  • jps [options] [hostid]
    options参数解释:
    -l : 显示进程id,显示主类全名或jar路径
    -q : 显示进程id
    -m : 显示进程id, 显示JVM启动时传递给main()的参数
    -v : 显示进程id,显示JVM启动时显示指定的JVM参数
    hostid : 主机或其他服务器ip
    最常用示例:
    jps -l 输出jar包路径,类全名
    jps -m 输出main参数
    jps -v 输出JVM参数

2.jstat命令

jstat命令是使用频率比较高的命令,主要用来查看JVM运行时的状态信息,包括内存状态、垃圾回收等。
命令格式:
jstat [option] VMID [interval] [count ]
其中VMID是进程id,interval是打印间隔时间(毫秒),count是打印次数(默认一直打印)
option参数解释:

  • class class loader的行为统计 jinfo -flag -PrintGC 11666 jinfo -flag
    -PrintGCDetails 11666
    -compiler HotSpt JIT编译器行为统计
    -gc 垃圾回收堆的行为统计
    -gccapacity 各个垃圾回收代容量(young,old,perm)和他们相应的空间统计
    -gcutil 垃圾回收统计概述
    -gccause 垃圾收集统计概述(同-gcutil),附加最近两次垃圾回收事件的原因
    -gcnew 新生代行为统计
    -gcnewcapacity 新生代与其相应的内存空间的统计
    -gcold 年老代和永生代行为统计
    -gcoldcapacity 年老代行为统计
    -printcompilation HotSpot编译方法统计

示列:
在这里插入图片描述
解释:

jstat -gc 6168 200 10

6168为pid,每隔200毫秒打印一次,打印10次
字段解释:
S0 survivor0使用百分比
S1 survivor1使用百分比
E Eden区使用百分比
O 老年代使用百分比
M 元数据区使用百分比
CCS 压缩使用百分比
YGC 年轻代垃圾回收次数
YGCT 年轻代垃圾回收消耗时间
FGC Full GC垃圾回收次数
FGCT Full GC垃圾回收消耗时间
GCT 垃圾回收消耗总时间

jstat -gcutil 6168

-gc和-gcutil参数类似,只不过输出字段不是百分比,而是实际的值。
字段解释:
S0C survivor0大小
S1C survivor1大小
S0U survivor0已使用大小
S1U survivor1已使用大小
EC Eden区大小
EU Eden区已使用大小
OC 老年代大小
OU 老年代已使用大小
MC 方法区大小
MU 方法区已使用大小
CCSC 压缩类空间大小
CCSU 压缩类空间已使用大小
YGC 年轻代垃圾回收次数
YGCT 年轻代垃圾回收消耗时间
FGC Full GC垃圾回收次数
FGCT Full GC垃圾回收消耗时间
GCT 垃圾回收消耗总时间

3. jstack命令

jstack是用来查看JVM线程快照的命令,线程快照是当前JVM线程正在执行的方法堆栈集合。使用jstack命令可以定
位线程出现长时间卡顿的原因,例如死锁,死循环等。jstack还可以查看程序崩溃时生成的core文件中的stack信
息。
jstack [options]
option参数解释:
-F 当使用jstack 无响应时,强制输出线程堆栈。
-m 同时输出java堆栈和c/c++堆栈信息(混合模式)
-l 除了输出堆栈信息外,还显示关于锁的附加信息
cpu占用过高问题
1.使用Process Explorer工具找到cpu占用率较高的线程
2.在thread卡中找到cpu占用高的线程id
3.线程id转换成16进制
4.使用jstack -l 查看进程的线程快照
5.线程快照中找到指定线程,并分析代码
jstack检查死锁问题

jstack -l 11666
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值