JVM参数调优

-XX:+AlwaysPreTouch

JVM就会先访问所有分配给它的内存,让操作系统把内存真正的分配给JVM.后续JVM就可以顺畅的访问内存了

-XX:AutoBoxCacheMax=20000

JAVA进程启动的时候,会加载rt.jar这个核心包的,rt.jar包里的Integer自然也是被加载到JVM中,Integer里面有一个IntegerCache缓存

-Xss去调整JVM栈的大小

调整栈的深度,注意递归经常会超过默认深度

-Djava.security.egd=file:/dev/./urandom

随机数导致启动慢

常用参数参考

1
2
3
4
5

java -Duser.timezone=GMT+8 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=6008 -Xmx2048m -XX:ParallelGCThreads=4 -XX:Conc
GCThreads=4 -Djava.util.concurrent.ForkJoinPool.common.parallelism=4 -XX:CICompilerCount=3 -XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:MinHeapFreeRatio=20 -XX:
MaxHeapFreeRatio=40 -XX:+ExitOnOutOfMemoryError -cp . -jar **.jar