1

我尝试使用以下代码创建内存转储

 **/usr/lib/jvm/j2sdk1.5-sun/bin/jmap -heap 10699**

但我得到了下面提到的错误,任何人都可以帮助我

正在附加到进程 ID 10699,请稍候...附加到进程时出错:sun.jvm.hotspot.debugger.DebuggerException:无法附加到进程

我正在使用 java 5

4

2 回答 2

3

为了积极主动,我假设您正在运行 ubuntu。在这种情况下,键入以下内容:

echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope

如果您没有运行 ubuntu,我建议您以与运行目标进程相同的用户身份运行 jmap

于 2013-04-04T12:30:12.053 回答
0

(假设你在 ubuntu 上)

快速修复是echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope.

如果您希望它在重新启动后仍然存在,并且您不想损害受限制ptrace_scope提供的保护,我建议setcap cap_sys_ptrace=eip在需要 ptrace 的二进制文件上使用。对于 java 开发人员,您可以运行此命令(以 root 身份)

find /usr/lib/jvm -type f -perm -o+x -exec setcap cap_sys_ptrace=eip {} \;
于 2015-09-16T17:40:55.407 回答