JAVA成神之路-基础篇——常用jvm命令(二)

常用jvm命令(二)

  • jps
  • jinfo
  • jstack
  • jstat

jps

jps 该命令是用来获取java中当前运行的进程,可以使用该命令获取进程Id,根据pid从而进行一些列的其他相关操作。

usage: jps [--help]
       jps [-q] [-mlvV] []

Definitions:
    :      [:]
  • q:不显示主类名称、JAR文件名和传递给主方法的参数,只显示本地虚拟机唯一ID。
  • mlvV:我们可以指定这些参数的任意组合。
    • m:显示Java虚拟机启动时传递给main()方法的参数。
    • l:显示主类的完整包名,如果进程执行的是JAR文件,也会显示JAR文件的完整路径。
    • v:显示Java虚拟机启动时传递的JVM参数。
    • V:不显示主类名称、JAR文件名和传递给主方法的参数,只显示本地虚拟机唯一ID。
  • hostid:指定的远程主机,可以是ip地址和域名, 也可以指定具体协议,端口。如果不指定,则显示本机的

jinfo

该命令的作用主要是获取我们启动时传递给jvm的参数,或其他传递给程序的参数。同时也支持对jvm现有的参数的修改以及添加。

Usage:
    jinfo 

jstack

该命令主要是对栈中情况的判断。主要情景在我们日常使用中,程序莫名其妙的卡顿不在执行,此时可以使用jstack进行堆内情况的查询。

Usage:
    jstack [-l][-e] 
        (to connect to running process)

Options:
    -l  long listing[该操作会打印锁相关信息]. Prints additional information about locks
    -e  extended listing. Prints additional information about threads

jstat

该命令是用于查看jvm运行时状态的命令。他和jstack的主要区别时,jstack个重要的是栈中的情况,而jstat更看重的是jvm中的状态,例如垃圾回收的情况,每分钟回收多少次等。

Usage: jstat --help|-options
       jstat -

你可能感兴趣的:(jvm,java,开发语言)