JVM参数优化

JAVA_OPTS="$JAVA_OPTS -noverify -Dfile.encoding=UTF-8 -server -Xms4096m -Xmx4096m -Xmn1024m -Xss256K -XX:NewSize=512m -XX:MaxNewSize=2048 -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=15 -XX:+UseParNewGC -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/data/gclogs/gc.log -Djava.awt.headless=true"

解释:
-noverify 关闭字节码校验
-Dfile.encoding=UTF-8 设置启动编码
-server 以服务模式启动
-Xms4096m 初始堆内存
-Xmx4096m 最大堆内存
-Xmn1024m 堆中新生代大小
-Xss256K:每个线程占用的空间
-XX:NewSize=512m 非堆区新生代大小
-XX:MaxNewSize=2048 非堆区新生代最大值
-XX:+DisableExplicitGC 禁止显示调用gc,System.gc()。
-XX:MaxTenuringThreshold=15 在年轻代存活次数
-XX:+UseParNewGC 对年轻代采用多线程并行回收
-XX:ParallelGCThreads=4 默认开启4个线程对新生代进行回收。
-XX:+UseConcMarkSweepGC 年老代采用CMS回收
-XX:+CMSParallelRemarkEnabled 在使用UseParNewGC 的情况下, 尽量减少mark的时间。
-XX:+UseCMSCompactAtFullCollection 在使用concurrent gc的情况下, 防止memoryfragmention, 对live object 进行整理,使memory碎片减少。
-XX:LargePageSizeInBytes=128m 指定Java heap的分页页面大小。
-XX:+UseFastAccessorMethods get,set 方法转成本地代码。
-XX:+UseCMSInitiatingOccupancyOnly 指示只有在oldgeneration在使用了初始化的比例后concurrent collector 启动收集。
-XX:CMSInitiatingOccupancyFraction=70 年老代到达70%进行gc.
-XX:+AggressiveOpts 每当JDK版本升级时,你的JVM 都会使用最新加入的优化技术。
-XX:+UseBiasedLocking 启用一个优化了的线程锁对线程处理自动进行最优调配。

原文地址:https://www.cnblogs.com/John-2011/p/15011419.html