当前位置:   article > 正文

使用Jprofiler分析内存溢出场景_jprofiler分析hprof文件

jprofiler分析hprof文件

一、配置VM options参数

-Xms2048m -Xmx4096m -Xmn2048m -XX:PermSize=30m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\dump.hprof

 

 

配置参数描述:

  • -Xms设置堆的最小空间大小。
  • -Xmx设置堆的最大空间大小。
  • -Xmn:设置年轻代大小
  • -XX:NewSize设置新生代最小空间大小。
  • -XX:MaxNewSize设置新生代最大空间大小。
  • -XX:PermSize设置永久代最小空间大小。
  • -XX:MaxPermSize设置永久代最大空间大小。
  • -Xss设置每个线程的堆栈大小

整个堆大小=年轻代大小+年老代大小+持久代大小

持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,官方推荐配置为整个堆的3/8。

jvm内存结构

 

 

2、模拟出现内存溢出代码

 执行请求就能生成hprof文件

3、用Jprofiler打开hprof文件

 

发现一个tempList就占了将近4个G空间,直接把内存打满了 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/568766
推荐阅读
相关标签
  

闽ICP备14008679号