Ubuntu11.10下解决 jmap等jdk工具attach pid错误

本文介绍了解决使用jmap工具时遇到的无法附着到进程问题的方法。通过修改Ubuntu系统的配置文件kernel.yama.ptrace_scope参数,并重启系统来解决jmap无法正确附着到目标Java进程的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.错误案例

nathan@ubuntu:~/Downloads$ jmap -heap 3991
Attaching to process ID 3991, please wait...
Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: Can't attach to the process


2.解决方案

1)修改/etc/sysctl.d/10-ptrace.conf文件如下:

< kernel.yama.ptrace_scope = 1
---
> kernel.yama.ptrace_scope = 0
(即将1改成0)
2)重启
 
3.成功
nathan@ubuntu:~$ jmap -heap 1835
Attaching to process ID 1835, please wait...
Debugger attached successfully.
Client compiler detected.
JVM version is 20.0-b11

using thread-local object allocation.
Mark Sweep Compact GC

Heap Configuration:
   MinHeapFreeRatio = 40
   MaxHeapFreeRatio = 70
   MaxHeapSize      = 402653184 (384.0MB)
   NewSize          = 1048576 (1.0MB)
   MaxNewSize       = 4294901760 (4095.9375MB)
   OldSize          = 4194304 (4.0MB)
   NewRatio         = 2
   SurvivorRatio    = 8
   PermSize         = 12582912 (12.0MB)
   MaxPermSize      = 268435456 (256.0MB)

Heap Usage:
New Generation (Eden + 1 Survivor Space):
   capacity = 13697024 (13.0625MB)
   used     = 6592008 (6.286628723144531MB)
   free     = 7105016 (6.775871276855469MB)
   48.12730122981459% used
Eden Space:
   capacity = 12189696 (11.625MB)
   used     = 6592008 (6.286628723144531MB)
   free     = 5597688 (5.338371276855469MB)
   54.07852665070565% used
From Space:
   capacity = 1507328 (1.4375MB)
   used     = 0 (0.0MB)
   free     = 1507328 (1.4375MB)
   0.0% used
To Space:
   capacity = 1507328 (1.4375MB)
   used     = 0 (0.0MB)
   free     = 1507328 (1.4375MB)
   0.0% used
tenured generation:
   capacity = 30273536 (28.87109375MB)
   used     = 18162752 (17.32135009765625MB)
   free     = 12110784 (11.54974365234375MB)
   59.995475916655394% used
Perm Generation:
   capacity = 38273024 (36.5MB)
   used     = 38107752 (36.342384338378906MB)
   free     = 165272 (0.15761566162109375MB)
   99.56817626953125% used

4.参考http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7050524
 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值