Java内存转储问题

时间:2013-04-04 12:14:34

标签: memory-leaks java-5

我尝试使用以下代码

创建内存转储
 **/usr/lib/jvm/j2sdk1.5-sun/bin/jmap -heap 10699**

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

附加到处理ID 10699,请稍候... 附加到进程的错误:sun.jvm.hotspot.debugger.DebuggerException:无法附加到进程

我正在使用java 5

2 个答案:

答案 0 :(得分:3)

要主动,我会假设你正在运行ubuntu。在这种情况下,键入以下内容:

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

如果您没有运行ubuntu,我建议您将jmap作为运行目标进程的用户运行

答案 1 :(得分:0)

(假设你是ubuntu)

快速解决方法是echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope

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

find /usr/lib/jvm -type f -perm -o+x -exec setcap cap_sys_ptrace=eip {} \;