在mac上使用jmap -heap命令报错:Attaching to process ID 96530, please wait...

在mac上执行命令jmap -heap 96530

报错:

linux 复制代码
Attaching to process ID 96530, please wait...
ERROR: attach: task_for_pid(96530) failed: '(os/kern) failure' (5)
Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: Can't attach to the process. Could be caused by an incorrect pid or lack of privileges.
sun.jvm.hotspot.debugger.DebuggerException: sun.jvm.hotspot.debugger.DebuggerException: Can't attach to the process. Could be caused by an incorrect pid or lack of privileges.
	at sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal$BsdDebuggerLocalWorkerThread.execute(BsdDebuggerLocal.java:169)
	at sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal.attach(BsdDebuggerLocal.java:287)
	at sun.jvm.hotspot.HotSpotAgent.attachDebugger(HotSpotAgent.java:671)
	at sun.jvm.hotspot.HotSpotAgent.setupDebuggerDarwin(HotSpotAgent.java:659)
	at sun.jvm.hotspot.HotSpotAgent.setupDebugger(HotSpotAgent.java:341)
	at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:304)
	at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:140)
	at sun.jvm.hotspot.tools.Tool.start(Tool.java:185)
	at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
	at sun.jvm.hotspot.tools.HeapSummary.main(HeapSummary.java:49)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.tools.jmap.JMap.runTool(JMap.java:201)
	at sun.tools.jmap.JMap.main(JMap.java:130)
Caused by: sun.jvm.hotspot.debugger.DebuggerException: Can't attach to the process. Could be caused by an incorrect pid or lack of privileges.
	at sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal.attach0(Native Method)
	at sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal.access$100(BsdDebuggerLocal.java:65)
	at sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal$1AttachTask.doit(BsdDebuggerLocal.java:278)
	at sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal$BsdDebuggerLocalWorkerThread.run(BsdDebuggerLocal.java:144)

原来是jdk(mac版)的bug:

https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8160376

升级成最新版jdk试试:

依然不管用。

还一不小心把~/.zshrc文件给改坏了,iterm2无法启动。在访达界面,按住"Command + Shift + . ",显示隐藏文件。

看到隐藏文件,用文本编辑app打开.zshrc,即可编辑。

言归正传,jmap -heap pid,这bug就一直存在?在mac上这命令算不算是弃用了呀?

相关推荐
星梦清河15 分钟前
宋红康 JVM 笔记 Day14|垃圾回收概述
jvm·笔记
小鸡脚来咯17 分钟前
一个Java的main方法在JVM中的执行流程
java·开发语言·jvm
江团1io018 分钟前
深入解析三色标记算法
java·开发语言·jvm
一枝花算不算浪漫37 分钟前
线上频繁FullGC?慌得一比!竟是Log4j2的这个“特性”坑了我
jvm·后端
王伯安呢2 小时前
Java开发环境配置入门指南
java·开发语言·jvm·eclipse·环境搭建·新手
叙白冲冲11 小时前
JVM:程序计数器
jvm
DKPT11 小时前
JVM中如何调优新生代和老生代?
java·jvm·笔记·学习·spring
phltxy11 小时前
JVM——Java虚拟机学习
java·jvm·学习
心想事成的幸运大王11 小时前
JVM如何排查OOM
jvm
曼巴UE518 小时前
UE5.3 C++ 接口初步使用
开发语言·jvm·c++