在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上这命令算不算是弃用了呀?

相关推荐
Barkamin1 小时前
多线程简单介绍
java·开发语言·jvm
「QT(C++)开发工程师」5 小时前
C++17三大实用特性详解:内联变量、std::optional、std::variant
jvm·c++
她说..5 小时前
Java Object类与String相关高频面试题
java·开发语言·jvm·spring boot·java-ee
sinat_255487817 小时前
泛型·学习笔记
java·jvm·数据库·windows·python
「QT(C++)开发工程师」8 小时前
C++17三大实用特性详解:折叠表达式、结构化绑定与constexpr if
jvm·c++
minji...8 小时前
Linux 多线程(五)用C++语言以面向对象方式封装线程
linux·运维·服务器·网络·jvm·数据库
她说..1 天前
Java 基本数据类型高频面试题
java·开发语言·jvm·spring boot
明灯伴古佛1 天前
面试:什么是可重入性?为什么 synchronized 是可重入锁?
java·jvm·面试
PrDf22Iw81 天前
编译执行与解释执行的区别是什么?JVM 使用哪种方式?
jvm
!停1 天前
C++入门—内存管理
java·jvm·c++