千家信息网

Java虚拟机进程状态管理工具 jps 失效该怎么办

发表于:2025-02-09 作者:千家信息网编辑
千家信息网最后更新 2025年02月09日,这篇文章给大家介绍Java虚拟机进程状态管理工具 jps 失效该怎么办,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JPS 命令,小编给大家彻底的扯一扯这个命令的用法,和遇到的一
千家信息网最后更新 2025年02月09日Java虚拟机进程状态管理工具 jps 失效该怎么办

这篇文章给大家介绍Java虚拟机进程状态管理工具 jps 失效该怎么办,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

JPS 命令,小编给大家彻底的扯一扯这个命令的用法,和遇到的一些问题。

jps(Java Virtual Machine Process Status Tool)是 JDK 1.5 提供的一个显示当前所有 java 进程 pid 的命令。很多人会用,但是很多人在使用过程中可能遇到了一些奇葩问题。

jps 命令存放在 JAVA_HOME/bin/ 目录中,如果你的这个目录没有加入到 Path 中,使用这个命令时,可能会提示命令不存在,无法识别的问题。

jps 命令格式为:

常用的 option 参数有 5 个:

  • -q 只显示 pid,不显示 class 名称,jar 文件名和传递给 main 方法的参数

  • -m 输出传递给 main 方法的参数,在嵌入式 jvm 上可能是 null

  • -l 输出应用程序 main class 的完整 package 名或者应用程序的 jar 文件完整路径名

  • -v 输出传递给 JVM 的参数

  • -V 隐藏输出传递给 JVM 的参数

我们常用的是直接输入 jps,如果你忘记了怎么使用,可以使用 jps -help 命令查看帮助信息:

我们公司在节源后,资源共用,一些机器上部署了十几个应用。导致有的人程序访问不了,这个很简单的问题,jps 看下应用是否起来了。如果没有应用,看下日志,最终发现是端口被占用了。查看端口的命令,我们以后再说。

把 jps 命令给大家演示了之后,大家都会操作了。但是有些人发现,一些机器上根本就用不了 jps 命令。究其原因,有以下几种情况:

第一种情况就是,JAVA_HOME/bin/ 目录没加入 path 环境下。

第二种就是磁盘目录读写权限问题。jps、jconsole、jvisualvm 等工具的数据来源就是这个文件(/tmp/hsperfdata_userName/pid),userName 是用户名,所以当该文件不存在或是无法读取时就会出现 jps 无法查看该进程号。这种情况下,使用 ps -ef|grep java 命令能看到启动的 java 进程。

第三种情况就是 /tmp 目录被删除或是定期清理,也或者是磁盘已满等。

最后一种可能就是你的程序在启动时设置了 -Djava.io.tmpdir 参数。导致 java 进程信息文件存储地址被改变到其他位置了。

如果上面 4 情况你都没问题,那就找找自己项目的原因。

关于Java虚拟机进程状态管理工具 jps 失效该怎么办就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0