【问题标题】:Java memory dump issueJava 内存转储问题
【发布时间】:2013-04-04 12:14:33
【问题描述】:

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

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

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

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

我正在使用 java 5

【问题讨论】:

  • 你使用的是什么操作系统?

标签: memory-leaks java-5


【解决方案1】:

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

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

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

【讨论】:

【解决方案2】:

(假设您使用的是 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 {} \;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-27
    • 2012-06-22
    • 2020-08-03
    • 2020-02-02
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    • 2018-01-05
    相关资源
    最近更新 更多