用jcmd显示直接在命令行指定的标志。:
%jcmd process_id VM.command_line
可用以下方式获得对应用生效的JVM调优标志:
%jcmd process_id VM.flags [-all]
flags显示命令行设置的标志,以及JVM直接设置的标志(因为它们的值是通过自动优化决定的)。该命令加上all时,可以列出JVM内部所有的标志。
在启动命令行上添加-XX:+Printflagsfinal
这个命令会打印JVM标志及其取值的完整列表(结果和jcmd结合VM.flags -all打印的相同)。
uintx InitialHeapSize := 4169431040 {product}
intx InlineSmallCode = 2000 {pd product}
这些命令的标志数据以上述两种方式之一显示。输出第1行中的冒号表示标志使用的是非默认值。发生这种情况,可能是以下原因导致。
(1)标志值直接在命令行指定。
(2)其他标志间接改变了该标志的值。
(3)JVM自动优化计算出来的默认值。
第2行(没有冒号)表示,值是这个JVM版本的默认值。某些标志的默认值在不同平台上可能会不相同,输出的最右列会指示。product表示在所有平台上的默认设置都是一致的。pd product表示标志的默认值是独立于平台的。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。