JVM 参数笔记(二)参数分类和JIT诊断

2018-07-12  本文已影响0人  Minstrel_a7ca

参数分类

1.标准类型

HotSpot JVM 提供了三类参数。第一类包括了标准参数。顾名思义,标准参数中包括功能和输出的参数都是很稳定的,很可能在将来的JVM版本中不会改变。你可以用java命令(或者是用 java -help)检索出所有标准参数。我们在第一部分中已经见到过一些标准参数,例如:-server。

2.-X

非标准化的参数在将来的版本中可能会改变。所有的这类参数都以-X开始,并且可以用java -X来检索。注意,不能保证所有参数都可以被检索出来,其中就没有-Xcomp。

3.-XX:

它们同样不是标准的,甚至很长一段时间内不被列出来(最近,这种情况有改变 ,我们将在本系列的第三部分中讨论它们)。然而,在实际情况中X参数和XX参数并没有什么不同。X参数的功能是十分稳定的,然而很多XX参数仍在实验当中(主要是JVM的开发者用于debugging和调优JVM自身的实现)。

一些由于的参数

打印所有参数

-XX:+PrintFlagsFinal and -XX:+PrintFlagsInitial

具体用法

java -XX:+PrintFlagsFinal运行后会输出被赋值的XX参数。
java -XX:+PrintFlagsInitial查看所有参数的默认值。

打印用户或JVM设置过的XX参数名称和值

java -server -XX:+PrintCommandLineFlags

现在如果我们每次启动java 程序的时候设置 -XX:+PrintCommandLineFlags 并且输出到日志文件上,这样会记录下我们设置的JVM 参数对应用程序性能的影响。类似于 -showversion(见 Part1),我建议 –XX:+PrintCommandLineFlags 这个参数应该总是设置在JVM启动的配置项里。因为你从不知道你什么时候会需要这些信息。

上一篇 下一篇

猜你喜欢

热点阅读