您当前的位置: 首页 >  jvm

小志的博客

暂无认证

  • 0浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

jvm内存溢出问题的分析与解决

小志的博客 发布时间:2020-05-16 15:19:22 ,浏览量:0

一、java中jdk1.8概念图的网址及结构如下:

网址: https://docs.oracle.com/javase/8/docs/ 结构图: 在这里插入图片描述

二、写一个简单的内存溢出程序。

1、创建一个空的学生类 在这里插入图片描述 2、编写一个内存溢出的测试类 在这里插入图片描述 3、配置参数详解

  • -Dfile.encoding=UTF-8
  • -Xms20m -Xmx20m 设置堆大小20m,将最小和最大值设置相等,避免扩展
  • -XX:+HeapDumpOnOutOfMemoryError dump出当前的内存堆转储快照
  • -XX:HeapDumpPath=E:\job 指定路径(转储文件还是挺大的)
  • -XX:SurvivorRatio=8 存活比2:8

4、配置程序jvm参数,右键选择【Run As】----->【Run Configurations…】,在VM arguments中设置dump出当前的内存堆转储快照,并设置堆大小为20兆,超过20兆报内存溢出错误。 在这里插入图片描述5、右键运行程序,会很快报堆内存溢出。 在这里插入图片描述 6、在该项目的路径下会生成hprof格式的快照文件。该格式文件用notepad++打开是乱码,需要借助Eclipse Memory内存分析工具打开。 在这里插入图片描述在这里插入图片描述

三、Eclipse Memory内存分析工具下载与安装

1、下载步骤如下:

(1)lz已下载好win64位版本的百度云链接如下: https://pan.baidu.com/s/1gk0oYM1oQqj_xNPwHoATPw 提取码:0osr (2)、官网下载如下: 点击此链接进入Eclipse Memory官网页面 在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述 2、安装步骤如下:

在这里插入图片描述在这里插入图片描述

四、Eclipse Memory内存分析工具的使用

1、点击【File】---->【Open Heap Dump…】。如下图: 在这里插入图片描述2、选择步骤一中生成的.hprof格式的快照文件。点击【打开】 在这里插入图片描述3、点击【Finish】 在这里插入图片描述4、出现如下图即可: 在这里插入图片描述5、内存出分析原因如下图: 在这里插入图片描述

关注
打赏
1661269038
查看更多评论
立即登录/注册

微信扫码登录

0.0401s