本文分类:
Java

本文总结了JDK bin目录下辅助工具的用法,文章未完结,将持续更新。

jps:查看Java进程

$ jps -help
usage: jps [-help]
       jps [-q] [-mlvV] [<hostid>]

Definitions:
    <hostid>:      <hostname>[:<port>]
选项 含义
-q 只输出进程ID
-m 输出传递给Java进程的参数
-l 输出主函数的完整路径
-v 显示传递给Java虚拟机的参数
-V 输出通过flag文件传递到JVM中的参数(-XX:Flags=所指定的文件)
$ jps
3520 DeadLock
$ jps -q
3520
$ jps -m
3520 DeadLock someparam
$ jps -l
3520 com.hiwzc.jvm.param.DeadLock
$ jps -v
3520 DeadLock -XX:Flags=.hotspotrc
$ jps -V
3520 DeadLock +DisableExplicitGC
$ jps -mlvV | grep 3520
3520 com.hiwzc.jvm.param.DeadLock someparam -XX:Flags=.hotspotrc +DisableExplicitGC
$ cat .hotspotrc
+DisableExplicitGC

jstack:查看线程栈

$ jstack -help
Usage:
    jstack [-l] <pid>
        (to connect to running process)
    jstack -F [-m] [-l] <pid>
        (to connect to a hung process)
    jstack [-m] [-l] <executable> <core>
        (to connect to a core file)
    jstack [-m] [-l] [server_id@]<remote server IP or hostname>
        (to connect to a remote debug server)

Options:
    -F  to force a thread dump. Use when jstack <pid> does not respond (process is hung)
    -m  to print both java and native frames (mixed mode)
    -l  long listing. Prints additional information about locks
    -h or -help to print this help message
选项 含义
-F 用于在jstack无响应时强制打印线程栈
-m 同时打印Java和本地方法栈
-l 打印锁的附加信息
jstack -l 3552 > 3552.js

获取到的线程栈是一个文本文件,可以使用文本编辑器打开,也可以使用工具来分析,比如IBM Thread and Monitor Dump Analyzer for Java

本文来自 [时光记 - 王智超的个人空间](www.hiwzc.com),转载请注明出处。