首页 > 解决方案 > Jmap 错误“多个非选项参数”

问题描述

我正在尝试使用以下命令将 JVM 核心转储转换为 HPROF 格式 jmap -dump:format=b,file=dump.hprof $(which java) core.dump.9

并得到以下错误

Error: More than one non-option argument
Cannot connect to core dump or remote debug server. Use jhsdb jmap instead

我做错了什么,还有其他工具可以转换它吗?JDK 是 OpenJDK 11.0.4。

标签: javadebuggingjvm

解决方案


由于 JDK 9jmap仅通过动态附加机制与实时 JVM 一起工作。

“强制”模式jmap -F被一个单独的实用程序jhsdb取代。

使用以下命令从核心文件生成堆转储:

jhsdb jmap --binaryheap --dumpfile dump.hprof --exe /usr/local/openjdk-11/bin/java --core core.dump.9

推荐阅读