当前位置:   article > 正文

Jprofiler分析OOM原因_jprofile分析oom原因

jprofile分析oom原因

当程序出现了OOM错误,我们可以使用Jpofiler进行分析错误原因。快速定位到内存泄露的位置,并且获取到堆中的数据。

安装Jprofiler应用和在IDEA中集成Jprofiler插件

我们可以用代码测试一下
在这里插入图片描述
配置一下VM参数
在这里插入图片描述
运行:
在这里插入图片描述
我们可以在Jprofiler应用上查看:
在这里插入图片描述
在这里插入图片描述

关于参数:
-Xms 设置初始化内存大小;
-Xmx设置最大分配内存。
-XX:+… :设置打印的信息。
例如:
HeapDumpOnOutOfMemoryError
PrintGCDetails


为什么堆中有垃圾而栈中无垃圾?

因为栈中主要是方法引用暂时存放的区域,当方法被应用就会被压入到栈中,使用完毕后就会被弹出栈。而堆中主要存放的是类,方法,变量,常量等,当对象被引用时,真实对象就会在伊甸园区进行创建,调度时可能没被GC处理而进入到幸存区,当幸存区也满的话就会在老年区中存活,这样在堆中就会存在大量的垃圾,需要处理防止堆内存溢出,优化性能。

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

闽ICP备14008679号