jvm参数总结

-Xms2g:JVM启动初始化堆大小为2g,Xms的默认是物理内存的1/64但小于1G。

-Xmx2g:JVM最大的堆大小为2g,Xmx默认是物理内存的1/4但小于1G;将-Xms和-Xmx的值配置为一样,可以避免每次垃圾回收完成后对JVM堆大小进行重新的调整。

-Xmn512M:堆中的新生代大小为512M

-Xss128K:每个线程的堆栈大小为128K

-XX:PermSize=128M:JVM持久代的初始化大小为128M

-XX:MaxPermSize=128M:JVM持久代的最大大小为128M

-XX:NewRatio=4:JVM堆的新生代和老年代的大小比例为1:4

-XX:SurvivorRatio=4:新生代Surivor区(新生代有2个Surivor区)和Eden区的比例为2:4

-XX:MaxTenuringThreshold=1:新生代的对象经过几次垃圾回收后(如果还存活),进入老年代。如果该参数设置为0,这表示新生代的对象在垃圾回收后,不进入survivor区,直接进入老年代

Java

-XX:+UseParallelGC -XX:ParallelGCThread=4

-XX:+UseParallelOldGC -XX:MaxGCPauseMillis=100 -XX:+UseAdaptiveSizePolicy

-XX:+UseParallelGC:使用并行的垃圾收集器,但仅针对新生代有效,老年代仍然使用串行收集器

-XX:ParallelGCThread=4:设置并行垃圾回收器的线程为4个,该设置最好与处理器的数目相同

-XX:+UseParalleOldGC:配置老年代使用并行垃圾收集器,JDK1.6支持老年代使用并行收集器

-XX:MaxGCPauseMillis=100:设置每次新生代每次收集器垃圾回收的最长时间,如果无法满足该时间,JVM会自动调整新生代区的大小,以满足该值

-XX:+UseAdaptiveSizePolicy:设置此值后,JVM会自动调整新生代大小以及相应的surivor区的比例,以达到设置的最低响应时间或者收集频率等

Java

-XX:UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSFullGCsBeforeCompaction=5 -XX:+UseCMSCompactAtFullCollection

-XX:UseConcMarkSweepGC:设置JVM堆的老年代使用CMS并发收集器,设置该参数后,-XX:NewRatio参数失效,但-Xmn参数依然有效

-XX:UseParNewGC:设置新生代使用并发收集器,在JDK1.5以上,JVM会根据系统自动设置

-XX:CMSFullGCsBeforeCompaction=5:设置5才CMSGC后对堆空间进行压缩、整理

-XX:+UseCMSCompactAtFullCollection:打开对老年代的压缩,可能会影响性能,但可以消除堆碎片

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • -Xms2g:JVM启动初始化堆大小为2g,Xms的默认是物理内存的1/64但小于1G。 -Xmx2g:JVM最大...
    裘马轻狂大帅阅读 221评论 0 1
  • 原文阅读 前言 这段时间懈怠了,罪过! 最近看到有同事也开始用上了微信公众号写博客了,挺好的~给他们点赞,这博客我...
    码农戏码阅读 6,027评论 2 31
  • Java 虚拟机有自己完善的硬件架构, 如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 屏蔽了与具体操作系...
    尹小凯阅读 1,707评论 0 10
  • 内存溢出和内存泄漏的区别 内存溢出:out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,...
    Aimerwhy阅读 757评论 0 1
  • 转自别人的博客http://www.cnblogs.com/mockitobuilder/p/3754509.ht...
    JaeGwen阅读 750评论 0 1