0



我需要在 IST 环境中运行的 Web 逻辑服务器的堆转储。我无权访问,因此我已要求支持团队这样做。在 UNIX 上执行的命令如下:

./jmap -heap:格式=b 19153

当支持团队执行命令时,他们会得到以下输出:

正在附加到进程 ID 19153,请稍候...
附加到进程时出错:附加失败:调试对象是 64 位,使用 java -d64 作为调试器

我认为服务器是 64 位的,但是这个建议在说什么?这是否意味着服务器应该在命令中使用该标志启动?

我试图在互联网上寻找这样的问题,但我没有得到任何有用的信息。有没有人知道如何找到解决方案!!!???

我感谢大家提供您的帮助!

问候,
凯坦

4

2 回答 2

0

确保您使用的 jmap 命令来自与运行进程 19153 相同的路径(目录)。对我来说,主机上安装了多个 JDK,一个用于运行进程 19153,另一个用于调用 jmap .

您可以使用以下方法检查 java 版本:java -version

您是否使用-d64JVM 参数来启动进程 19153?

于 2013-10-08T11:57:24.543 回答
0

谢谢拉格纳。

我只需要在命令中添加 -d64 。

./jmap -d64 -heap:format=b 19153

由于 JVM 是 64 位的,所以必须这样做!

于 2013-10-11T08:22:12.887 回答