JVM中jmap无法连接java进程的问题

本文介绍了解决使用jmap命令时遇到的权限问题的过程。在尝试对Java进程进行内存堆分析时,由于普通用户权限不足导致无法连接到目标进程。通过切换到root用户解决了这一问题,并成功获取了Java进程的内存堆配置。

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

引言: 在JVM的实际应用中,一般无法通过图形化的界面来进行JVM的观察和问题确定,一般都需要通过命令来进行,这里碰到的问题是无法连接上Java进程....


    1.  问题的提出


    JDK 1.7, Java Web应用


    2.  问题的提出


    在尝试使用jmap进行探查的过程中,执行如下命令:


    >> jmap 8765     [8765是我们通常使用的java应用进程号】


    [html] view plain copy


    [xxx@xxx ~]$ jmap -heap 9683


    Attaching to process ID 9683, please wait...


    Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: Can't attach to the process


    3.  问题分析


    正常来说,服务器上是使用标准的JDK基础包,无特殊设置,jmap是JVM自带的命令,无法连接上process,因为什么原因?


    正常来说,肯定是可以的。


    Java进程肯定存在的,没有消失。


    难道是OS的权限屏蔽, 忽然意识到,我当前使用的是普通用户,而这个java进程是由root用户来启动的。


    4.  问题解决


    >> sudo su -


    切换到root用户,重新执行jmap pid, 即可正常访问命令输出的内容了。


    [html] view plain copy


    [xxxx@xxxx ~]# jmap heap 9683


    Attaching to core 9683 from executable heap, please wait...


    Error attaching to core file: Can't attach to the core file


    [root@gyl-test-t5 ~]# jmap -heap 9683


    Attaching to process ID 9683, please wait...


    Debugger attached successfully.


    Server compiler detected.


    JVM version is 24.71-b01


    using thread-local object allocation.


    Parallel GC with 23 thread(s)


    Heap Configuration:


    MinHeapFreeRatio = 0


    MaxHeapFreeRatio = 100


    MaxHeapSize      = 1258291200 (1200.0MB)


    NewSize          = 1310720 (1.25MB)


    MaxNewSize       = 17592186044415 MB


    OldSize          = 5439488 (5.1875MB)


    NewRatio         = 2


    SurvivorRatio    = 8


    PermSize         = 268435456 (256.0MB)


    MaxPermSize      = 536870912 (512.0MB)


    G1HeapRegionSize = 0 (0.0MB)


    Heap Usage:


    PS Young Generation


    Eden Space:


    capacity = 310378496 (296.0MB)


    used     = 258040456 (246.08655548095703MB)


    free     = 52338040 (49.91344451904297MB)


    83.13734982464764% used


    From Space:


    capacity = 45613056 (43.5MB)


    used     = 26470024 (25.24378204345703MB)


    free     = 19143032 (18.25621795654297MB)


    58.03168285852191% used


    To Space:


    capacity = 46137344 (44.0MB)


    used     = 0 (0.0MB)


    free     = 46137344 (44.0MB)


    0.0% used


    PS Old Generation


    capacity = 320339968 (305.5MB)


    used     = 259420512 (247.40267944335938MB)


    free     = 60919456 (58.097320556640625MB)


    80.98287379488032% used


    PS Perm Generation


    capacity = 268435456 (256.0MB)


    used     = 96727704 (92.2467269897461MB)


    free     = 171707752 (163.7532730102539MB)


    36.03387773036957% used



宁波艺星www.lyxcl.org

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值