目录
[TOC]
1. 版本
操作系统:win10
jdk版本:1.8.0_121
2. 命令详解
2.1 jps
全称:Java Virtual Machine Process Status Tool
用途:用于查看当前系统的所有进程
2.1.1 参数详解
参数 | 用途 |
---|---|
-help | 查看帮助信息 |
-q | 只显示pid |
-m | 输出传递给main方法的参数,在嵌入式jvm上可能是null |
-l | 输出应用程序main class完整的pack名或者应用程序的jar文件的完整路径 |
-v | 输出传递给JVM的参数 |
-V | 输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件) |
2.1.2 示例
windows环境下启动tomcat,测试结果如下:
-
jps -help
usage: jps [-help] jps [-q] [-mlvV] [<hostid>] Definitions: <hostid>: <hostname>[:<port>]
-
jps
34564 Bootstrap
36156 Jps -
jps -q
34564
37720 -
jps -m
21600 Jps -m
34564 Bootstrap start -
jps -l
34564 org.apache.catalina.startup.Bootstrap
34968 sun.tools.jps.Jps -
jps -v
34564 Bootstrap -Djava.util.logging.config.file=C:\work\server\tomcat\apache-tomcat-8.5.13\conf\logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dcatalina.base=C:\work\server\tomcat\apache-tomcat-8.5.13 -Dcatalina.home=C:\work\server\tomcat\apache-tomcat-8.5.13 -Djava.io.tmpdir=C:\work\server\tomcat\apache-tomcat-8.5.13\temp
21768 Jps -Dapplication.home=C:\Program Files\Java\jdk1.8.0_121 -Xms8m -
jps -V
34564 Bootstrap
4232 Jps
2.2 jinfo
jinfo可以用来查看正在运行的java应用程序的扩展参数,包括Java System属性和JVM命令行参数;
也可以动态地修改正在运行的JVM的一些参数
。
2.2.1 参数详解
- jinfo -help
Usage:
jinfo [option] <pid>
(to connect to running process)
jinfo [option] <executable <core>
(to connect to a core file)
jinfo [option] [server_id@]<remote server IP or hostname>
(to connect to remote debug server)
where <option> is one of:
-flag <name> to print the value of the named VM flag
-flag [+|-]<name> to enable or disable the named VM flag
-flag <name>=<value> to set the named VM flag to the given value
-flags to print VM flags
-sysprops to print Java system properties
<no option> to print both of the above
-h | -help to print this help message
-
参数说明
- pid 对应java的进程id
2.2.2 示例
- jinfo
pid
输出pid对应应用程序进程的全部参数
和系统属性
jinfo 34564
-
jinfo -flag
name
pid
输出pid对应应用程序进程的对应
名称
的参数
D:\>jinfo -flag MaxNewSize 34564
-XX:MaxNewSize=1420820480
D:\>jinfo -flag PrintGC 34564
-XX:-PrintGC
-
jinfo -flag
[+|-]name
pid
开启或关闭对应名称的参数,
设置boolean类型的参数
。使jinfo可以在不重启虚拟机的情况下,动态地修改JVM参数。
在线上环境特别有用。
D:\>jinfo -flag PrintGC 34564
-XX:-PrintGC
D:\>jinfo -flag +PrintGC 34564
D:\>jinfo -flag PrintGC 34564
-XX:+PrintGC
-
jinfo -flag
name
=value
开启或关闭对应名称的参数,主要用于更改value的值。
使jinfo可以在不重启虚拟机的情况下,
动态地修改JVM参数
。在线上环境特别有用。
D:\>jinfo -flag HeapDumpPath 34564
-XX:HeapDumpPath=
D:\>jinfo -flag HeapDumpPath=D:\error.hprof 34564
D:\>jinfo -flag HeapDumpPath 34564
-XX:HeapDumpPath=D:\error.hprof
注意:jinfo虽然可以再java程序运行时动态地修改虚拟机参数,但
并不是所有的参数都支持动态更改
-
info -flags
pid
输出全部的参数
D:\>jinfo -flags 34564
Attaching to process ID 34564, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.121-b13
Non-default VM flags: -XX:CICompilerCount=4 -XX:HeapDumpPath=null -XX:InitialHeapSize=268435456 -XX:MaxHeapSize=4263510016 -XX:MaxNewSize=1420820480 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=89128960 -XX:OldSize=179306496 -XX:+PrintGC -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
Command line: -Djava.util.logging.config.file=C:\work\server\tomcat\apache-tomcat-8.5.13\conf\logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dcatalina.base=C:\work\server\tomcat\apache-tomcat-8.5.13 -Dcatalina.home=C:\work\server\tomcat\apache-tomcat-8.5.13 -Djava.io.tmpdir=C:\work\server\tomcat\apache-tomcat-8.5.13\temp
-
jinfo -sysprops
pid
输出当前jvm进行的全部
系统
属性
jinfo -sysprops 34564
2.3 jstack
待完成...
网友评论