天天看點

java虛拟機參數 stacktrace_ART虛拟機參數說明

property

JVM參數

含義

取值

備注

dalvik.vm.checkjni || ro.kernel.android.checkjni

取true|false

-Xcheck:jni

當調用jni函數時,打開jni檢查

-Xjnigreflimit:

設定JNI全局引用的最大數量

整數,如2000

dalvik.vm.execution-mode

取int:portable|int:fast|int:jit

-Xint:portable

-Xint:fast

-Xint:jit

指後端類型

dalvik.vm.stack-trace-file

dalvik.vm.stack-trace-file

dalvik.vm.check-dex-sum

取true|false

dalvik.vm.check-dex-sum

log.redirect-stdio

取true|false

-Xlog-stdio

将stdout/stderr輸出定位到log

dalvik.vm.enableassertions

-ea:

dalvik.vm.jniopts

dalvik.vm.jniopts

-verbose:gc

dalvik.vm.heapstartsize

-Xms

堆棧開始大小

4m

dalvik.vm.heapsize

-Xmx

16m

-XX:mainThreadStackSize=K

主線程解釋模式下堆棧大小

dalvik.vm.jit.codecachesize

-Xjitcodecachesize:

設定jit code的大小。0表示關閉

dalvik.vm.heapgrowthlimit

-XX:HeapGrowthLimit=

dalvik.vm.heapminfree

-XX:HeapMinFree=

dalvik.vm.heapmaxfree

-XX:HeapMaxFree=

dalvik.vm.heaptargetutilization

-XX:HeapTargetUtilization=

dalvik.vm.nonmovingspace

-XX:NonMovingSpaceCapacity=

ro.config.low_ram

取true | false

-XX:LowMemoryMode

dalvik.vm.gctype

-Xgc:

dalvik.vm.backgroundgctype

-XX:BackgroundGC=

dalvik.vm.dexopt-flags

v=n|r|a

o=n|v|a|f

m=y

if (v==n) dalvik.vm.dexopt-flags

if (v==r)-Xverify:remote

if (v==a) -Xverify:all

if (o==n) -Xdexopt:none

if (o==v) -Xdexopt:verified

if (o==a) -Xdexopt:all

if (o==f) -Xdexopt:full

if (m==y) {

-Xdexopt:full

-Xgc:precise

}

dalvik.vm.lockprof.threshold

-Xlockprofthreshold:

dalvik.vm.jit.op

-Xjitop:

對于特定的位元組碼,強制以解釋模式執行

dalvik.vm.jit.method

dalvik.vm.jit.method

對特定方法,強制以解釋模式執行

vold.decrypt

取值trigger_restart_min_framework|1

-Ximage-compiler-option

–compiler-filter=verify-none

跳過代碼編譯,以最新方式啟動一個framework。用在data分區加密後輸入密碼

dalvik.vm.image-dex2oat-Xms

-Xms

dalvik.vm.image-dex2oat-Xmx

-Xmx

dalvik.vm.image-dex2oat-filter

–compiler-filter=

-Ximage-compiler-option

–image-classes=/system/etc/preloaded-classes

-Ximage-compiler-option

–compiled-classes=/system/etc/compiled-classes

dalvik.vm.image-dex2oat-flags

-Ximage-compiler-option

dalvik.vm.dex2oat-Xms

dalvik.vm.dex2oat-Xmx

dalvik.vm.extra-opts

dalvik.vm.profiler

-Xenable-profiler

dalvik.vm.profile.start-immed

-Xprofile-start-immediately

dalvik.vm.profile.period-secs

-Xprofile-period:

dalvik.vm.profile.duration-secs

-Xprofile-duration:

dalvik.vm.profile.interval-us

-Xprofile-interval:

dalvik.vm.profile.backoff-coeff

-Xprofile-backoff:

dalvik.vm.profile.top-k-thr

-Xprofile-top-k-threshold:

dalvik.vm.profile.top-k-ch-thr

-Xprofile-top-k-change-threshold:

dalvik.vm.profiler.type

-Xprofile-type:

dalvik.vm.profile.stack-depth

-Xprofile-max-stack-depth:

ro.dalvik.vm.native.bridge

-XX:NativeBridge=

ART中對參數的分解在ParsedOptions::Parse (runtime/parsed_options.cc)

-verbose:compiler|gc|heap|jdwp|jni|monitor|signals|startup|third-party-jni|threads|verifier

GC的幾個重要參數

參數

取值

預設值

-XX:ParallelGCThreads=

整數。并行GC的線程個數

CPU核數-1.

這是定義除了主GC線程外的并行線程。對于單核來說,就是沒有并行的GC線程。

-XmskK|mM|gG

heap初始化大小,機關可以是k, m, g。

2M

-XmskK|mM|gG

heap初始化大小,機關可以是k, m, g。

2M

-XmxkK|mM|gG

heap最大大小,機關可以是k, m, g。

256M

-XX:HeapMinFree=kK|mM|gG

heap最小free空間,機關可以是k, m, g。

0.5M

-XX:HeapMaxFree=kK|mM|gG

heap最大free空間,機關可以是k, m, g。

2M

-XX:NonMovingSpaceCapacity=kK|mM|gG

heap不可移動資料大小,機關可以是k, m, g。

64M

-XX:HeapTargetUtilization=(0.1-0.9)

堆記憶體的使用率

0.5

-XX:ForegroundHeapGrowthMultiplier=

heap增長乘數

2.0

-XX:ConcGCThreads=

不暫停時GC線程數

-Xbootclasspath:

-classpath 或-cp

-Ximage:  boot.art的位址。如 -Ximage:/data/dalvik-cache/arm64/boot.art

-XssK|M|G  定義線程棧的預設大小。如果調用java.lang.Thread.nativeCreate的時候堆棧傳遞0,則使用該值

-XX:LongPauseLogThreshold= GC 停頓後輸出gc log的最長時間。機關為ms

-XX:LongGCLogThreshold=  GCLog輸出的間隔。機關為ms

-XX:UseTLAB 有該标志時,表示使用線程本地配置設定政策(Thread Local Allocation Buffer),TLAB配置設定時可以避免線程同步。

anroid 5.1.1中,啟動ART虛拟機的實際參數例子

-Xzygote

-Xstacktracefile:/data/anr/traces.txt

exit

vfprintf

sensitiveThread

-verbose:gc

-Xms8m

-Xmx512m

-XX:mainThreadStackSize=24K

-XX:HeapGrowthLimit=256m

-XX:HeapMinFree=512k

-XX:HeapMaxFree=8m

-XX:HeapTargetUtilization=0.75

-XX:NonMovingSpaceCapacity=96m

-agentlib:jdwp=transport=dt_android_adb,suspend=n,server=y

-Ximage-compiler-option

--runtime-arg

-Ximage-compiler-option

-Xms64m

-Ximage-compiler-option

--runtime-arg

-Ximage-compiler-option

-Xmx64m

-Ximage-compiler-option

--image-classes=/system/etc/preloaded-classes

-Xcompiler-option

--runtime-arg

-Xcompiler-option

-Xms64m

-Xcompiler-option

--runtime-arg

-Xcompiler-option

-Xmx512m

-Duser.language=zh

-Duser.region=CN