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

jvm 内存溢出

时间:2019-06-14 00:50:56      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:image   大小   命令行   工具   图形   ash   cms   存在   访问   

堆内存溢出

  堆内存中存在大量对象,这些对象都有被引用,当所有对象占用空间达到堆内存的最大值,就会出现内存溢出OutOfMemory:Java heap space

永久代溢出

  类的一些信息,如类名、访问修饰符、字段描述、方法描述等,所占空间大于永久代最大值,就会出现OutOfMemoryError:PermGen space

内存溢出的检测方法

Jdk/bin目录下有很多检测工

图形界面: Jconsole Jvisualvm

技术图片

 

技术图片

命令行工具

  Jstat –gcutil pid 1000 100      FullGC频率:单次FullGC时间<200ms

  技术图片

  Jmap –histo pid | head -20

  技术图片

  Jmap –heap pid

  技术图片

 

工程日志报错

技术图片

 

jvm 常见参数

  -Xms2048m,初始堆大小,建议<物理内存的1/4,默认值为物理内存的1/64

  -Xmx2048m,最大堆大小,建议与-Xms保持一致,默认值为物理内存的1/4

  -Xmn512m,新生代大小,建议不超过堆内存的1/2 -Xss256k,线程年轻代堆栈大小,建议256k

  -XX:PermSize=256m,永久代初始值,默认值为物理内存的1/64

  -XX:MaxPermSize=256m,永久代最大值,默认值为物理内存的1/4

  -XX:SurvivorRatio=8:年轻带中Eden区和Survivor区的比例,默认为8:1,即Eden(8),From Space(1),ToSpace(1)

  -XX:+UseConcMarkSweepGC:开启CMS垃圾回收器

jvm 内存溢出

标签:image   大小   命令行   工具   图形   ash   cms   存在   访问   

原文地址:https://www.cnblogs.com/dwdw/p/11020544.html

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