首页 > 解决方案 > 何时使用 jmap -J选项?

问题描述

我正在浏览 jmap 命令文档。-J 选项记录如下。

-J<flag> : to pass <flag> directly to the runtime system

我没有得到,这种情况到底有什么帮助。为了实验,我尝试使用以下命令增加正在运行的应用程序的堆大小。

jmap -J-Xmx1024m <PROCESS_ID>

但是堆大小没有变化。我想知道 jmap -J 选项的用例。请帮助我理解 -J 选项。

标签: javajmap

解决方案


不幸的是,文档所指的运行时系统jmap是运行命令的 Java 进程——它也是用 Java 编写的。

-J工作正常jmap- 例如,检查这一点的一种方法是将内存减少太多:

C:\>jmap -J-Xmx1m -histo <pid>
Error occurred during initialization of VM
Initial heap size set to a larger value than the maximum heap size

至于增加正在运行的 Java 进程的堆大小,我不知道有任何选项可以做到这一点。 该线程在很大程度上证实了这一点。

您可以对正在运行的 JVM 进行的大多数更改将来自JConsole中的 JMX bean ,但不幸的是内存更改不会。


推荐阅读