解决jps不显示Java进程,jconsole、jvisualvm无法使用,hsperfdata_%UserName%下无进程文件系列问题

19 篇文章 0 订阅

jps(Java Virtual Machine Process Status Tool)可以显示当前的Java进程信息。
可使用的命令:       jps [-q] [-mlvV] [<hostid>]
    <hostid>:      <hostname>[:<port>]

cmd下输入jps只显示当前Java进程的进程号和类名。

jps -q:只显示pid,不显示class名称、jar文件名和传递给main方法的参数。
jps -m:输出传递给main方法的参数。
jps -l:输出程序main class的完整package名或程序的jar文件完整路径名。
jps -v:输出传递给JVM的参数。

jconsolejvisualvm可以监控Java进程的内存、CPU等。

这些jvm工具在JDK的bin下,JDK10中没有了jvisualvm。

jps能得到当前Java进程信息,Windows下靠的是%TEMP%/hsperfdata_%USERNAME% 目录下以该进程的id为文件名的文件。C:\TempC:\Users\登录的用户名\AppData\Local\Temp都有Temp文件夹,一般为后者,在文件资源管理器的地址栏中输入%TEMP%回车可查看对应的目录。如果Java程序运行时,在Temp的hsperfdata_你的用户名这个文件夹下没有新的进程文件生成,那么可以考虑权限的问题。在这个文件夹下新建会提示你需要管理员权限。如果你是用IDEA等IDE中运行的Java程序,那么必须以管理员权限打开IDE,否则在这个文件夹下无法创建进程文件,那么jvm工具将无法使用。进程文件在Java程序正常关闭后会被删除。另外,jvm工具基于进程管理器,即使你负责编译、运行Java代码的JDK版本和jvm工具的对应JDK版本不相同,不会影响jvm工具的使用。而且,即使你使用-Djava.io.tmpdir想改变临时文件存储位置,也不会影响进程文件位置。

jdk8之后的版本,jdk工具包中不带有visualvm工具,因此需要我们自行下载

visualvm官网:http://visualvm.github.io/

下载完之后,解压到jdk的路径中,对应文件夹覆盖即可。
打开etc/visualvm.conf文件,配置一下jdk所在路径(visualvm_jdkhome)
一般在文件最下方

配置完后记得把#号去掉,#代表注释。
 

jvisualvm.exe在JDK的bin中。
VisualVM现在有两个分发渠道了,分别是Github和JDK内置工具。但是最新的消息显示,从Oracle JDK 9开始,Java VisualVM已经转移到了GraalVM,这是一个创新的,高性能的多语言VM性能监控器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风铃峰顶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值