博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java虚拟机工具之虚拟机进程状况工具jps
阅读量:4097 次
发布时间:2019-05-25

本文共 3848 字,大约阅读时间需要 12 分钟。

jps(JVM Process Status Tool),有点像linux的ps命令,通过这个命令你可以查看执行类的名称以及这些进程在本地虚拟机中对应的唯一ID(Local Virtual Machine Identifier, LVMID)。

对于本地虚拟机来讲,LVMID与PID是一致的。

该工具很简单,但是使用很频繁,这个工具在很多时候是使用其他工具的前提,废话少说,直接看示例:

kevin@kevin-HP-Compaq-Pro-4300-AiO-20-PC-APJ-CTO:~$ jps7369 Launcher21773 Jps2815 Main

在啥参数也没有的情况下,第一列显示的就是LVMID,第二列显示的就是运行类的名称,在你啥也没运行的时候,只显示Jps与其对应的id。

其实大部分情况下 ,上面的就足以应付大部分应用场景,当然jps也不只是就这么简单,准确地讲,jps的命令格式是这样的:

jps [ options ] [ hostid ]

首先看一下option部分

-q参数的意思就是除了显示一下id,其他的就不显示了。

kevin@kevin-HP-Compaq-Pro-4300-AiO-20-PC-APJ-CTO:~$ jps -q7369217892815

-m 参数则是显示主方法的输入参数,对于嵌入的JVM,输出可能是null。

kevin@kevin-HP-Compaq-Pro-4300-AiO-20-PC-APJ-CTO:~$ jps -m7369 Launcher /usr/idea-IU/lib/jps-builders.jar:/usr/idea-IU/lib/picocontainer.jar:/usr/idea-IU/lib/netty-all-4.1.0.Beta8.jar:/usr/idea-IU/lib/rt/jps-plugin-system.jar:/usr/idea-IU/lib/jna.jar:/usr/idea-IU/lib/jps-model.jar:/usr/idea-IU/lib/annotations.jar:/usr/idea-IU/lib/log4j.jar:/usr/idea-IU/lib/jsr166e.jar:/usr/idea-IU/lib/protobuf-2.5.0.jar:/usr/idea-IU/lib/asm-all.jar:/usr/idea-IU/lib/javac2.jar:/usr/idea-IU/lib/oromatcher.jar:/usr/idea-IU/lib/util.jar:/usr/idea-IU/lib/trove4j.jar:/usr/idea-IU/lib/snappy-in-java-0.3.1.jar:/usr/idea-IU/lib/nanoxml-2.2.3.jar:/usr/idea-IU/lib/idea_rt.jar:/usr/idea-IU/lib/jna-platform.jar:/usr/idea-IU/lib/openapi.jar:/usr/idea-IU/lib/jgoodies-forms.jar:/usr/idea-IU/lib/jdom.jar:/usr/idea-IU/lib/resources_en.jar::/usr/idea-IU/plugins/gradle/lib/guava-jdk5-17.0.jar:/usr/idea-IU/plugins/gradle/lib/gradle-jps-plugin.jar:/usr/idea-IU/plugins/gradle/lib/gradle-wrapper-2.5.jar:/usr/idea-IU/plugins/gradle/lib/reflectasm-1.07.jar:/usr/idea-IU/plugins/gradle/lib21804 Jps -m2815 Main

看到没,我们输入命令带有-m参数,输入结果显示出了-m。

-l 则是显示主方法完整的包名

kevin@kevin-HP-Compaq-Pro-4300-AiO-20-PC-APJ-CTO:~$ jps -l21832 sun.tools.jps.Jps7369 org.jetbrains.jps.cmdline.Launcher2815 com.intellij.idea.Main

-v 显示传给JVM的参数

kevin@kevin-HP-Compaq-Pro-4300-AiO-20-PC-APJ-CTO:~$ jps -v21848 Jps -Denv.class.path=.:/usr/java/jdk1.8.0_101/lib/dt.jar:/usr/java/jdk1.8.0_101/lib/tools.jar -Dapplication.home=/usr/java/jdk1.8.0_101 -Xms8m7369 Launcher -Xmx700m -Djava.awt.headless=true -Djava.endorsed.dirs="" -Djdt.compiler.useSingleThread=true -Dpreload.project.path=/home/kevin/IdeaProjects/DynamicProxyDemo -Dpreload.config.path=/home/kevin/.IntelliJIdea15/config/options -Dcompile.parallel=false -Drebuild.on.dependency.change=true -Djava.net.preferIPv4Stack=true -Dio.netty.initialSeedUniquifier=388561894858164884 -Dfile.encoding=UTF-8 -Djps.file.types.component.name=FileTypeManager -Duser.language=en -Duser.country=US -Didea.paths.selector=IntelliJIdea15 -Didea.home.path=/usr/idea-IU -Didea.config.path=/home/kevin/.IntelliJIdea15/config -Didea.plugins.path=/home/kevin/.IntelliJIdea15/config/plugins -Djps.log.dir=/home/kevin/.IntelliJIdea15/system/log/build-log -Djava.io.tmpdir=/home/kevin/.IntelliJIdea15/system/compile-server/_temp_ -Dkotlin.daemon.enabled -Dkotlin.daemon.client.alive.path="/home/kevin/.IntelliJIdea15/system/tmp/kotlin-idea-758921108511928428-is-running"2815 Main -Xbootclasspath/a:./../lib/boot.jar -Xms128m -Xmx750m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Dawt.useSystemAAFontSettings=lcd -Djb.vmOptionsFile=./idea64.vmoptions -XX:ErrorFile=/home/kevin/java_error_in_IDEA_%p.log -Djb.restart.code=88 -Didea.paths.selector=IntelliJIdea15

-V感觉效果与-q差不多,也是只显示local JVM identifiers,其他的比如传给主方法的参数啦,类名啦,JAR包名啦就不显示了。

kevin@kevin-HP-Compaq-Pro-4300-AiO-20-PC-APJ-CTO:~$ jps -V21863 Jps7369 Launcher2815 Main

还有一个参数,是传给JVM的选项,比如

kevin@kevin-HP-Compaq-Pro-4300-AiO-20-PC-APJ-CTO:~$ jps -J-Xms48m

这个命令的意思就是设置启动内存大小为48MB。

本文主要介绍这几个参数的用法以及使用效果,关于[hostid](HOST IDENTIFIER)在以后的文章中再介绍。

转载地址:http://ewhii.baihongyu.com/

你可能感兴趣的文章
idea 有时提示找不到类或者符号
查看>>
JS遍历的多种方式
查看>>
ng-class的几种用法
查看>>
node入门demo-Ajax让前端angularjs/jquery与后台node.js交互,技术支持:mysql+html+angularjs/jquery
查看>>
神经网络--单层感知器
查看>>
注册表修改DOS的编码页为utf-8
查看>>
matplotlib.pyplot.plot()参数详解
查看>>
拉格朗日对偶问题详解
查看>>
MFC矩阵运算
查看>>
最小二乘法拟合:原理,python源码,C++源码
查看>>
ubuntu 安装mysql
查看>>
Win32编程绘图实例--字母图
查看>>
c# 计算器
查看>>
C# 简单的矩阵运算
查看>>
gcc 常用选项详解
查看>>
c++输入文件流ifstream用法详解
查看>>
c++输出文件流ofstream用法详解
查看>>
字符编码:ASCII,Unicode 和 UTF-8
查看>>
QT跨MinGW和MSVC两种编译器的解决办法
查看>>
firewalld的基本使用
查看>>