JDK 工具之 jps 详解
概述
jps 用于列出当前在操作系统上运行的Java进程的信息。它可以显示Java进程的进程ID(PID)、主类名、传递给Java虚拟机的参数以及其他相关信息。
简单使用
最简单的便是什么参数都不带,直接在命令行运行 jps
jps
可以输出当前运行所有 java 程序的 pid 和 main 方法所在类的名字
31933 Main
37822 Jps
详细一点的输出
如果要 jps 输出更详细一点,可以使用 -l
参数
jps -l
使用 -l
之后,可以输出完整的包名,根据你实际运行的 java 程序,一个输出样例如下:
40850 org.jetbrains.idea.maven.server.RemoteMavenServer36
41298 org.jetbrains.jps.cmdline.Launcher
41321 net.verytools.prac.MyMain
更详细的输出
如果要更详细,可以使用 -v
参数,通过该参数可以将传递给 jvm 的参数都输出出来,使用方法:
jps -v
一个输出样例如下:
40495 Main -Xms128m -Xmx1983m -XX:ReservedCodeCacheSize=512m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -ea -Dsun.io.useCanonCaches=false -Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.attach.allowAttachSelf=true -Djdk.module.illegalAccess.silent=true -Dkotlinx.coroutines.debug=off -Dsun.tools.attach.tmp.only=true -XX:ErrorFile=/home/saltyfish/java_error_in_idea_%p.log -XX:HeapDumpPath=/home/saltyfish/java_error_in_idea_.hprof -Didea.vendor.name=JetBrains -Didea.paths.selector=IntelliJIdea2020.3 -Djb.vmOptionsFile=/home/saltyfish/.config/JetBrains/IntelliJIdea2020.3/idea64.vmoptions -Didea.jre.check=true
-v
是 verbose 的意思,可以看出,这输出结果相当的啰嗦。不过从中可以看出很多信息,这里可以看出最大堆内存为 1983m,使用的 GC 算法为 CMS。
注:对于一些初学者来说 jps 看起来好像没什么用,但是其实有一些其他命令需要 java 进程 pid,而 jps 就可以获取 pid,这比单纯使用 shell 命令,如 ps 更直接。
有问题吗?点此反馈!
温馨提示:反馈需要登录