本文共 926 字,大约阅读时间需要 3 分钟。
jvm生产应该配置哪些内容
1、堆内存大小 2、gc日志 3、发生oom的时候dump heap 4、使用什么垃圾回收器 5、回收策略 以下为一个常用配置示例,具体根据应用需求使用不同的垃圾回收器以及回收策略。-Xms2g -Xmx2g 堆内存初始大小和最大值设置成一样,防止扩容-Xloggc:./gc-%t.log-XX:+PrintGCDetails 输出gc详细信息-XX:+PrintTenuringDistribution 打印对象年龄分布-XX:+PrintGCDateStamps 输出GC的时间戳-XX:+HeapDumpOnOutOfMemoryError oom的时候dump heap文件-XX:HeapDumpPath=heapdump.hprof dump的heap文件位置-XX:ErrorFile=hs_err_pid_%p.log-XX:MaxMetaspaceSize=200m metaspace最大空间# -XX:+UseGCLogFileRotation :打开gc日志循环# -XX:NumberOfGCLogFiles=20 设置gc日志文件数量# -XX:GCLogFileSize=500m gc日志最大大小-XX:NewSize=300m 设置年轻代初始大小-XX:MaxNewSize=500m 年轻代最大大小-XX:+UseConcMarkSweepGC 并发标记清除(CMS)收集器。-XX:CMSMaxAbortablePrecleanTime=5000 设置cms preclean这一步的超时时间为5000ms,-XX:CMSClassUnloadingEnabled cms垃圾回收对永久带的class unloading也生效-XX:CMSInitiatingOccupancyFraction=80 占比达到80%的时候触发垃圾回收机制-XX:+UseCMSInitiatingOccupancyOnly 关闭动态检查机制,如果不关闭,cms默认会根据历史记录预测老年代需要多久回收一次内存,cms根据自己的预测执行AlwaysPreTouch 提前分配内存,大内存应用时很有用。
转载地址:http://ttkfb.baihongyu.com/