-Xms16g:设置jvm初始分配堆内存大小
-Xmx16g:设置jvm最大分配堆内存大小
-XX:MetaspaceSize=256m:设置jvm元空间初始值大小
-XX:MaxMetaspaceSize=256m:设置jvm元空间最大值
-XX:SurvivorRatio=3:设置eden空间与单个survivor空间大小的比值。survivor空间大小=-Xmn/(-XX:SurvivorRatio+2)
-XX:TargetSurvivorRatio=60:在minor gc之后,survivor区被占用的最大值(百分比)。
-XX:MaxTenuringThreshold=15:设置新生代对象经过minor gc次依然存活后会进入老年代。
-XX:-UseAdaptiveSizePolicy:设置survivor空间为固定大小,不会动态调整。
-XX:+UseConcMarkSweepGC:开启cms收集器,它会自动开启-XX:+UseParNewGC,新生代使用多线程垃圾收集器,老年代使用cms收集器。
-XX:+UseCMSInitiatingOccupancyOnly:设置只有在老年代占用达到-XX:CMSInitiatingOccupancyFraction设定的值时,才会引发cms的并发垃圾收集周期。
-XX:CMSInitiatingOccupancyFraction=65:老年代占用达到65%时引发cms的第一次垃圾收集周期。
-Xloggc:metabase_gc.log:将垃圾收集的统计信息打印到metabase_gc.log文件中,结合-XX:+PrintGCDetails和-XX:+PrintGCDateStamps将输出捕获到日志文件中。
-XX:+PrintGCDetails:开启新生代、老年代和永久代垃圾收集统计信息的详细报告。
-XX:+PrintGCDateStamps:在每次垃圾收集时打印时间戳。
-XX:+PrintTenuringDistribution:报告与对象晋升相关的统计数据,包括survivor区的占用量以免过早将对象从survivor提升到老年代,hotspot vm计算的晋升阈值、当前最大的晋升阈值以及显示当前survivor中对象年龄的直方图。
-XX:+HeapDumpOnOutOfMemoryError:在oom发生时,生成jam堆的转储文件。
-XX:HeapDumpPath=metabase.hprof:设置堆转储文件的生成目录路径。
-XX:+DisableExplicitGC:禁止因显示调用System.gc()而引起的full gc。
-XX:+UseBiasedLocking:开启偏向锁特性。
设置eclipse jvm参数
打开Eclipse 或者 MyEclipse
打开 Windows ->Preferences ->Java ->Installed JREs
选中你所使用的 JDK,然后点击 Edit,会出现如下图:
在 Default VM Arguments输入框内输入: -Xms512m -Xmx512m
解释:
-Xms是设置java虚拟机的最小分配内存;-Xmx则是最大分配内存;512m为内存空间
一般-Xmx设置为你电脑物理内存的1/4,而把-Xms和 -Xmx设置为一样,
其实你可以设置得更大一些,只要系统能分配足够的内存就可以了,如果设置过大系统会提示你的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)