流殃

JVM常用参数

发布于

常用参数和日志打印

常用设置

参数解释
-Xmsjava堆内存的大小
-Xmxjava堆内存的最大大小
-XX:PeremSize永久代大小
-XX:MaxpermSize永久代最大大小
-Xmn堆内存中的新生代大小
-Xss每个线程栈内存的大小
-XX:Max Tenuring Threshold多少岁进入老年代,默认是15
-XX PretenureSize Threshold对象多大直接进入老年代,不经过新生代
-XX HandlePromotionFailure是否要进行判断 判断老年代的内存大小是都大于之前每一次minor gc之后的进入老年代的对象的平均大小
-XX:SurvivorRatio=8表示eden区域占比为80%
-XX: +UseParNewGC定垃圾回收器为ParNew,一般来说机器是几核,垃圾回收器并发执行的线程就会有几个,四核机器就是4个,8核机器就是8个
-XX:ParallelGCThreads设置垃圾回收器使用线程数量,一般来说不要动
-XX: NewSize新生代
-XX: +UserCMSCOmpactAtFullCollection整理碎片
-XX: CMSFullBeforeCompaction=5五次fullgc之后进行一次碎片整理
XX:CMSInitiatingOccupancyFraction设置CMS老年代回收阀值百分比
-XX:+CMSParallelInitialMarkEnabledCMS垃圾回收器的“初始标记”阶段开启多线程并发执行
-XX:+CMSScavengeBeforeRemarkCMS的重新标记阶段之前,先尽量执行一次Young GC,原因:如果大部分新生代的对象被回收掉了,那么作为GC根的部分少了,从而提高重新标记的效率
-XX:TraceClassLoding追踪类加载情况
-XX: TraceClassUnloading追踪类卸载情况
-XX: SoftRefLRUPolicyMSPerMB软引用存活时间
-XX:+DisableExplicltGC禁止显示执行GC,为了避免开发工程师调用system.gc(),在流量高时候频发触发full gc
-XX:MetaspaceSize=10M元空间内存设置
-XX:MaxMetaspaceSize=10M元空间最大内存设置
-XX:+UseConcMarkSweepGC使用CMS垃圾回收器

打印日志

参数作用
-XX:+PrintGCDetails打印gc详细日志
-XX:HeapDumpPath=/usr/local/app/oom内存快照存放位置
-XX:+HeapDumpOnOutOfMemoryError在oom的时候自动dump快照出来
-XX:+PrintGC打印gc日志
-XX: =PrintGCTimesStamps打印gc时间戳
-XX: +PrintHeapAtGCgc之后,打印堆信息
-Xloggc打印日志