jProfiler 找不到 JVM

发布于 2025-01-03 05:54:23 字数 253 浏览 1 评论 0原文

我已经在生产服务器上启动了 jprofiler,经过一些分析后我已经杀死了它(kill -9)。

现在我尝试再次启动它,但只收到“未找到未配置文件的 JVM”。信息, 但 jps 命令说我的应用程序正在运行(我可以看到它实际上可以自己工作)。

jprofiler 可能会在某个文件中存储有关当前它分析的 jvm 的信息,并且 Kill 命令阻止它更新此文件。那么如何手动清理呢?

ps我尝试删除然后再次解压jprofile,但仍然不起作用。

I've started jprofiler on my production server and after some profiling I've killed it (kill -9 ).

Now I'm trying to start it again and receive only "No unprofiled JVMs found." message,
but jps command says that my application is running (and I can see that it works by myself actually).

Probably jprofiler stores info about which jvms it profiles at the moment in some file and
kill command prevented it from updating this file. So how can I clean it manually?

p.s. I've tried to delete and then unpack jprofile again, still not working.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

我不吻晚风 2025-01-10 05:54:23

JProfiler 通过作为 JDK 一部分的“Attach API”查找 JVM。看一下$TMP/hsperfdata_$USER目录,它是由热点JVM创建的。它应该包含所有正在运行的 JVM 的 PID 文件。如果没有,请删除该目录并重新启动所有 JVM。

JProfiler finds JVMs via the "Attach API" that is part of the JDK. Have a look at the $TMP/hsperfdata_$USER directory, which is created by the hot spot JVM. It should contain PID files for all running JVMs. If not, delete the directory and restart all JVMs.

昵称有卵用 2025-01-10 05:54:23

看看这个QA,不可能卸载Jprofiler代理在 java 进程上,除非你杀死 jp。

我不确定你是否真的能杀死特工。

“未找到未配置文件的 JVM。”当您启动 Jprofiler 两次时,将会出现该消息。
尝试重新启动受监控的java应用程序。

look at this QA, it is not possible to unload a Jprofiler agent on a java process unless you kill the jp.

I'm not sure if you can really kill the agent.

"No unprofiled JVMs found." message will occur when you start Jprofiler twice.
Try to restart the monitored java application.

夜灵血窟げ 2025-01-10 05:54:23

在 WLS 服务器上,这通常意味着您重新启动了服务器并有两个 JVM 运行。
我运行它来启动 jpenable:
./jpenable --gui --port=8888 --pid=$WLS_ID
并得到这个错误:
PID 14690 的 JVM 未进行分析。

杀死列出的那个:
kill -9 14690

重新运行上面的 jpenable 启动命令并输出以下内容:
正在连接到 weblogic.Server [18037] ...
现在可以使用 JProfiler GUI 在端口 8888 上进行连接

18037 是无法与 JProfiler 客户端连接的 JVM 的 PID

On the WLS server, this usually means that you restarted the server and have two JVMs rumming.
I run this to start jpenable:
./jpenable --gui --port=8888 --pid=$WLS_ID
and get this error:
The JVM with PID 14690 is not unprofiled.

Kill the one listed:
kill -9 14690

Rerun the jpenable startup command above with this output:
Connecting to weblogic.Server [18037] ...
You can now use the JProfiler GUI to connect on port 8888

18037 is the PID of the JVM that can not be connected with the JProfiler client

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文