我正在尝试使用Jconsole(JDK1.8.0_31)监视JVM中正在运行的进程。但是,由于窗口被破坏,我在Jconsole的启动窗口中看不到任何进程。本地进程的列表似乎没有设置高度参数。至少这就是它的样子:
我在网上检查了类似的问题。我发现%TMP%
的奇怪权限设置导致Jconsole出现问题的情况。我查了一下,我拥有所需的所有权限(读/写等等)。
好吧,既然我不轻易放弃,我也发现Jconsole将Java进程的PID作为参数。在尝试查找PID时,我注意到JPS没有显示任何进程或JVM,即使它们正在运行(我安装了多个JDK。即使这不重要,我也检查了我是否使用了JPS来自相同的$JVM\bin
文件夹。)
所以,这是我的问题:
还有什么可能导致此问题?我还能检查什么?
我真的很感激帮助,否则我将无法检查我的哪些应用程序导致我的系统出现这种奇怪的内存溢出。
答案 0 :(得分:3)
我误解了有关%TMP%
权限的其他解决方案。我检查了TMP
本身的权限,但罪魁祸首是hsperfdata_$USER
($ USER是您的用户名)。错误的是启动jvm的用户需要hsperfdata
目录的读写权限。在我的情况下,用户首先没有设置。
我右键单击hsperfdata_$USER
>属性>安全>编辑>添加>高级,并在开头字段中输入我的用户名和证实。回到安全选项卡,我为我的用户设置了所有权限,就是这样。