我正在阅读jmap命令文档。 -J选项的文档如下所示。
-J<flag> : to pass <flag> directly to the runtime system
我不明白,这种情况到底有什么帮助。为了实验起见,我尝试使用以下命令来增加正在运行的应用程序的堆大小。
jmap -J-Xmx1024m <PROCESS_ID>
但是堆大小没有变化。我想知道jmap -J选项的用例。请帮助我理解-J选项。
答案 0 :(得分:1)
不幸的是,文档所指的运行时系统是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进程的堆大小,我不知道要执行此操作的任何选项。 This thread在很大程度上证实了这一点。
您可以对运行的JVM进行的大多数更改来自JConsole中的JMX bean,但不幸的是not memory changes。