zoukankan      html  css  js  c++  java
  • 堆的分配参数

    -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出堆,确保可以排查现场问题
  • 相关阅读:
    EF框架开发后台错误问题集合
    如何实践MVP+RxJava+Retrofit(1)
    Android的FixScrollView自定义控件
    那些React-Native踩过的的坑
    P3105 [USACO14OPEN]公平的摄影Fair Photography
    模板合集
    关于最近情况的说明
    落谷P3941 入阵曲
    51nod 1952 栈
    BZOJ 2298: [HAOI2011]problem a
  • 原文地址:https://www.cnblogs.com/feiyun126/p/5473255.html
Copyright © 2011-2022 走看看