jvm参数调优
Posted gavinwu-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jvm参数调优相关的知识,希望对你有一定的参考价值。
参数 | 描述 |
-server | server模式,性能更好 |
-Xmx3g | 堆最大内存 |
-Xms3g | 堆最小内存 |
-Xmn1g | -XX:newSize = -XX:MaxnewSize = -Xmn |
-XX:+HeapDumpOnOutOfMemoryError | 堆内存溢出时,保存内存快照 |
-XX:HeapDumpPath=/home/dir | 堆的dump文件路径 |
-XX:+PrintGCDateStamps | 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800) |
-XX:+PrintGCTimeStamps | 输出GC的时间戳(以基准时间的形式) |
-XX:+PrintGCDetails | gc详细日志 |
-XX:+PrintHeapAtGC | 在进行GC的前后打印出堆的信息 |
-Xloggc:/home/dir/gc.log | gc日志文件路径 |
-XX:+UseConcMarkSweepGC | 设置年老代为并发收集 |
-XX:+UseCMSInitiatingOccupancyOnly | 命令JVM不基于运行时收集的数据来启动CMS垃圾收集周期。而是,当该标志被开启时,JVM通过CMSInitiatingOccupancyFraction的值进行每一次CMS收集 |
-XX:CMSInitiatingOccupancyFraction=70 | 是指设定CMS在对内存占用率达到70%的时候开始GC(因为CMS会有浮动垃圾,所以一般都较早启动GC); |
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses | 降低full gc的停机时间 |
-XX:+CMSClassUnloadingEnabled | 允许对类进行卸载 |
-XX:+ParallelRefProcEnabled | 并行的处理Reference对象,如WeakReference,除非在GC log里出现Reference处理时间较长的日志,否则效果不会很明显。 |
-XX:+CMSScavengeBeforeRemark | 开启在CMS重新标记阶段之前的清除尝试 |
-XX:+FlightRecorder | 飞行记录器 |
-Dcom.sun.management.jmxremote | 开启远程访问 |
-Dcom.sun.management.jmxremote.port=38080 | 远程访问端口 |
-Dcom.sun.management.jmxremote.authenticate=false | 禁止认证 |
-Dcom.sun.management.jmxremote.ssl=false | 禁止ssl |
方便copy:
JAVA_OPTS="-server -Xmx2g -Xms2g -Xmn1g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/dir -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintHeapAtGC -Xloggc:/home/dir/gc.log -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses -XX:+CMSClassUnloadingEnabled -XX:+ParallelRefProcEnabled -XX:+CMSScavengeBeforeRemark -XX:+FlightRecorder -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=38080 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
以上是关于jvm参数调优的主要内容,如果未能解决你的问题,请参考以下文章