jstack jstat 简易使用教程

本文详细介绍了jstack和jstat的使用方法,包括如何查看堆栈信息和JVM的相关信息。具体步骤涉及如何找到CPU使用率高的线程及如何监控垃圾回收等情况。

jstack – 用来查看堆栈信息

jstat – 用来查看JVM相关信息

 

jstack用法

  1. 找到CPU使用最高的进程;
    top命令,然后按P,CPU使用率排序,就可以看到对应的pid
  2. 先说一种暴力的方法,直接jstack [pid] 就可以直接查看堆栈信息,使用jstack [pid] > test.txt将内容写入到文件中方便查询;
  3. 通过pid找到,CPU使用率最高的线程
    top -Hp [pid]
  4. 找到线程id后,转为16进制

    printf "%x\n" [id]
  5. 然后jstack [pid] | grep [id],可以查看最高CPU使用的线程

 

jstat用法

语法结构:
Usage: jstat -help|-options
       jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
 参数解释:
Options — 选项,我们一般使用 -gcutil 查看gc情况
vmid    — VM的进程号,即当前运行的java进程号
interval– 间隔时间,单位为秒或者毫秒
count   — 打印次数,如果缺省则打印无数次
  
S0  — Heap上的 Survivor space 0 区已使用空间的百分比
S1  — Heap上的 Survivor space 1 区已使用空间的百分比
E   — Heap上的 Eden space 区已使用空间的百分比
O   — Heap上的 Old space 区已使用空间的百分比
P   — Perm space 区已使用空间的百分比
YGC — 从应用程序启动到采样时发生 Young GC 的次数
YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒)
FGC — 从应用程序启动到采样时发生 Full GC 的次数
FGCT– 从应用程序启动到采样时 Full GC 所用的时间(单位秒)
GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)

实例

jstat -gc [pid] 1000

-gcutil 关注gc的情况

1000 1000ms刷新一次

 

转载于:https://www.cnblogs.com/jwentest/p/7110194.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值