全面输出JVM配置参数

有关java并发能够看这里:
yuedu.baidu.com/ebook/d09e3…
Java 6(update 21oder 21以后)版本, HotSpot JVM 提供给了两个新的参数,在JVM启动后,在命令行中能够输出全部XX参数和值:javascript

-XX:+PrintFlagsFinal 以及 -XX:+PrintFlagsInitialhtml

个人电脑上的Java版本是1.7.0_79,本文所讲述的JVM参数所有都是这个版本有的(不一样版本可能有所不一样):java

bogon:~ xujianxing$ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
bogon:~ xujianxing$复制代码

让咱们如今就了解一下新参数的输出。以 -client 做为参数的 -XX:+PrintFlagsFinal 的结果:git

其输出有多是以下的状况:github

$ java -client -XX:+PrintFlagsFinal 
[Global flags]
uintx AdaptivePermSizeWeight               = 20               {product}
uintx AdaptiveSizeDecrementScaleFactor     = 4                {product}
uintx AdaptiveSizeMajorGCDecayTimeScale    = 10               {product}
uintx AdaptiveSizePausePolicy              = 0                {product}[...]
uintx YoungGenerationSizeSupplementDecay   = 8                {product}
uintx YoungPLABSize                        = 4096             {product}
 bool ZeroTLAB                             = false            {product}
 intx hashCode复制代码

是一个按字母排序的669个参数表格。并发

而若是是按照-server的参数输出,依然是669个参数。
client模式追求的是减少启动速度和内存占用,server模式追求最高的执行速度。oracle

每个参数各有五行,下面来每一行的参数有什么意义:
表格的每一行包括五列,来表示一个XX参数。第一列表示参数的数据类型,第二列是名称,第四列为值,第五列是参数的类别。第三列”=”表示第四列是参数的默认值,:=表示这个值被人为地修改过或者JVM经过人体工程学调优过。
uintX X位无符号整形,如uint32表示32位无符号整形 intX X位有符号整形,如int32表示32位有符号整形。第五个表示参数类别,product表示生产模式。diagnostic表示debug模式,能够用来调试JVM。
manageable表示能够经过JMX设置的参数,具体状况能够看这里:Developing Manageable Applications With JMXapp

pd表示平台依赖(Platform Dependent),某些参数可能只有某个操做系统才有。jvm

参考连接:jsp

www.oracle.com/technetwork…
javadiscover.blogspot.hk/2013/10/hot…
pingtimeout.github.io/jvm-options…

相关文章
相关标签/搜索