跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • macOS 11.1 无法使用 jmap 命令
未分類
18 1 月 2021

macOS 11.1 无法使用 jmap 命令

macOS 11.1 无法使用 jmap 命令

資深大佬 : justNoBody 20

最近才发现 macOS 上 jmap 命令无法使用,报错如下

❯ jhsdb jmap --heap --pid 14657 Attaching to process ID 14657, please wait... ERROR: attach: task_for_pid(14657) 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 jdk.hotspot.agent/sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal$BsdDebuggerLocalWorkerThread.execute(BsdDebuggerLocal.java:170)  at jdk.hotspot.agent/sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal.attach(BsdDebuggerLocal.java:284)  at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.attachDebugger(HotSpotAgent.java:641)  at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.setupDebuggerDarwin(HotSpotAgent.java:629)  at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.setupDebugger(HotSpotAgent.java:364)  at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:329)  at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:139)  at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.start(Tool.java:187)  at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)  at jdk.hotspot.agent/sun.jvm.hotspot.tools.JMap.main(JMap.java:176)  at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.runJMAP(SALauncher.java:331)  at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.main(SALauncher.java:483) 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 jdk.hotspot.agent/sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal.attach0(Native Method)  at jdk.hotspot.agent/sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal$1AttachTask.doit(BsdDebuggerLocal.java:275)  at jdk.hotspot.agent/sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal$BsdDebuggerLocalWorkerThread.run(BsdDebuggerLocal.java:145) 

我尝试的解决方案

  1. 根据 https://bugs.openjdk.java.net/browse/JDK-8025666 给出的解决方案就是使用 root 账号来运行,但我sudo jhsdb jmap --heap --pid 14657不行;
  2. 检查过运行所使用的 jdk 和使用 jmap 命令的 jdk,均是同一个。
  3. 升级 jdk 版本。在
openjdk version "1.8.0_275" OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_275-b01) OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.275-b01, mixed mode) 

和

openjdk version "15.0.1" 2020-10-20 OpenJDK Runtime Environment (build 15.0.1+9) OpenJDK 64-Bit Server VM (build 15.0.1+9, mixed mode, sharing) 

上验证了一下也不行

大佬有話說 (1)

  • 資深大佬 : Kobayashi

    盲猜:这个进程 ID 已被其他程序占用了?

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具