JVM选项列表是否仍在任何地方维护?它似乎从甲骨文的网站上消失了,但幸运的是Wayback Machine有一个副本.
有很多JVM参数影响JVM的内存使用情况,如 -Xms, -Xmx, -Xns, -XX:MaxPermSize...
OutOfMemoryError,StackOverflowError...)?我找不到一个好的备忘单 - 让我们在这里创建一个.
我怎样才能找到Maven正在使用哪些Java选项(Xmx,Xms,Xss等)?
我发现设置它们的方法是通过环境MAVEN_OPTS.现在我想要一种方法来确保它获得正确的设置.
编辑:我认为这与这个问题不同,因为我不想看到环境变量的价值.我更愿意看看Maven实际使用了哪些设置,无论是来自env var,settings.xml还是其他方法.
编辑2:我也对为Maven构建设置Java选项的其他方法感兴趣
如果我从我的Windows框上的命令行运行java,如下所示:
"C:\Program Files (x86)\Java\jdk1.7.0_51\bin\java.exe" -XshowSettings:all -Xss=1m -Xmx256m
Run Code Online (Sandbox Code Playgroud)
我看到这个输出:
VM settings:
Stack Size: 1.00M
Max. Heap Size: 256.00M
Ergonomics Machine Class: client
Using VM: Java HotSpot(TM) Client VM
Run Code Online (Sandbox Code Playgroud)
对我来说重要的部分是"堆栈大小:1.00M",这是我通过命令行选项"-Xss1m"设置的.但是,如果我删除此选项并让VM以默认堆栈大小运行,我会得到以下输出:
VM settings:
Max. Heap Size: 256.00M
Ergonomics Machine Class: client
Using VM: Java HotSpot(TM) Client VM
Run Code Online (Sandbox Code Playgroud)
请注意,它不再显示"堆栈大小".如果我没有指定自定义的"-Xss"值,我希望能看到默认大小.有没有办法确定默认的线程堆栈大小?
我使用的java -XX:+PrintFlagsFinal -version是每 打印所有JVM标志的问题,我升级到JVM 11上比较差的JDK之间的结果。
我注意到,尽管的结果PrintFlagsFinal仍将返回不推荐使用的选项-例如PrintGC,即使运行-XX:+PrintGC发出警告并运行,它仍然存在-Xlog:gc。
因此,是否有一个类似于PrintFlagsFinal我可以用来查找当前不推荐使用的所有选项的选项,从而可以避免使用它们?
(知道我可以手动检查发行说明,但是想知道是否存在一种内置的从JVM中查找的方法,类似于jdeprscan不推荐使用的模块依赖项)
java ×6
jvm ×5
jvm-hotspot ×2
openjdk ×2
debugging ×1
deprecated ×1
java-opts ×1
maven ×1
maven-3 ×1
ubuntu ×1