码迷,mamicode.com
首页 > 其他好文 > 详细

堆的分配参数

时间:2016-05-09 12:36:07      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

-Xmn
–设置新生代大小
注意:此处的大小是(eden+ 2 survivor space).与jmap -heap中显示的New gen是不同的。
整个堆大小=年轻代大小 + 年老代大小 + 持久代大小.
增大年轻代后,将会减小年老代大小.此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8
 
-XX:NewRatio
–新生代(eden+2*s)和老年代(不包含永久区)的比值
–4 表示(表示老年代是新生代的4倍) 新生代:老年代=1:4,即年轻代占堆的1/5
 
-XX:SurvivorRatio
–设置两个Survivor区和eden的比
–8表示(eden的大小是一个Survivor的8倍) 两个Survivor :eden=2:8,即一个Survivor占年轻代的1/10
 
内存溢时导出到指定路径
-XX:+HeapDumpOnOutOfMemoryError
–OOM时导出堆到文件
 
-XX:+HeapDumpPath
–导出OOM的路径
-Xmx20m -Xms5m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/a.dump
 
-XX:OnOutOfMemoryError
–在OOM时,执行一个脚本
  "-XX:OnOutOfMemoryError=D:/tools/jdk1.7_40/bin/printstack.bat %p“
   当程序OOM时,在D:/a.txt中将会生成线程的dump
   可以在OOM时,发送邮件,甚至是重启程序
 
总结:
根据实际事情调整新生代和幸存代的大小
官方推荐新生代占堆的3/8
幸存代占新生代的1/10
在OOM时,记得Dump出堆,确保可以排查现场问题

堆的分配参数

标签:

原文地址:http://www.cnblogs.com/feiyun126/p/5473255.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!