jstack jstat 简易使用教程

时间:2022-04-23
本文章向大家介绍jstack jstat 简易使用教程,主要内容包括jstack用法、jstat用法、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

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 "%xn" [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刷新一次