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

71次阅读
没有评论

共计 1061 个字符,预计需要花费 3 分钟才能阅读完成。

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

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

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 失效该怎么办就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计1061字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)