前言

  • jdk 1.8
  • eclipse 4.9.0
  • spring boot 2.0.0.RELEASE

-XX:+HeapDumpOnOutOfMemoryError

当堆内存空间溢出时输出堆的内存快照。

复现一下内存空间溢出

  • 创建一个spring boot程序。只要能够运行就可以。
  • 指定内存最大值为10M(-Xmx10M)。10M,呵呵,肯定启动不了 spring boot ,肯定内存空间溢出。

eclipse中配置程序启动参数:

eclipse中的执行结果:

另一个复现内存空间溢出的方法

编写一个内存泄漏的程序,漏的足够多时,就内存空间溢出了。

class Wrapper {public static void main(String args[]) throws Exception {Map map = System.getProperties();Random r = new Random();while (true) {map.put(r.nextInt(), "value");}}
}

添加参数 -XX:+HeapDumpOnOutOfMemoryError

在java命令行中添加vm参数-XX:+HeapDumpOnOutOfMemoryError。

eclipse中配置程序启动参数:

eclipse中的执行结果:

内存快照的生成目录,默认在java的启动目录下。

-XX:HeapDumpPath

-XX:HeapDumpPath=目录或文件

-XX:HeapDumpPath=目录时,参数表示生成DUMP文件的路径。默认为:java__heapDump.hprof。

-XX:HeapDumpPath=文件时,形如-XX:HeapDumpPath=d:\java_heapdump.hprof。
略。

内存快照的分析

mat

参考

https://blog.csdn.net/liuxinghao/article/details/77934725

JVM参数-XX:+HeapDumpOnOutOfMemoryError相关推荐

  1. JVM参数-XX:+HeapDumpOnOutOfMemoryError使用方法

    1.配置方法 在JAVA_OPTIONS变量中增加 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${目录}. 例如:export JAVA_OPT ...

  2. 关于JVM参数-XX:SurvivorRatio的理解

    关于JVM参数-XX:SurvivorRatio的理解 JVM参数中有一个比较重要的参数SurvivorRatio,它定义了新生代中Eden区域和Survivor区域(From幸存区或To幸存区)的比 ...

  3. JVM 参数 -XX:+PrintGCDetails

    -XX:+PrintGCDetails 表示打印 gc 详细信息 例如 普通 gc 的详细信息 2020-09-14T23:21:32.853+0800:[GC (Allocation Failure ...

  4. Java虚拟机详解(五)------JVM参数(持续更新)

    JVM参数有很多,其实我们直接使用默认的JVM参数,不去修改都可以满足大多数情况.但是如果你想在有限的硬件资源下,部署的系统达到最大的运行效率,那么进行相关的JVM参数设置是必不可少的.下面我们就来对 ...

  5. java虚拟机调优_Java虚拟机中JVM参数调优及其有用的命令

    3.1参数及调优 1.-XX:-HeapDumpOnOutOfMemoryError:当首次遭遇内存溢出时Dump出此时的堆内存. 2.-XX:HeapDumpPath=./java_pid.hpro ...

  6. 启动脚本,以及jvm参数含义

    一.startup.sh: #!bin/sh if[!-x logs];then mkdir logs fi export EXEC=taskcenter.jar export CLASSPATH=. ...

  7. JVM参数无效(-XX:+HeapDumpOnOutOfMemoryError设置无效)

    执行以下错误设置命令 java -XX:+PrintGCDetails -jar .\mgJavaNote-1.0-SNAPSHOT.jar -XX:+HeapDumpOnOutOfMemoryErr ...

  8. JVM参数之-XX:+HeapDumpOnOutOfMemoryError(导出内存溢出的堆信息(hprof文件))

    当出现HeapDumpOnOutOfMemoryError错误时,我们需要分析原因,下面的程序就是模拟这个错误并导出dump文件,好让你分析 GcTest.java package gc; publi ...

  9. java -XX:+PrintFlagsInitial该命令可以查看所有JVM参数启动的初始值

    java -XX:+PrintFlagsInitial 该命令可以查看所有JVM参数启动的初始值 [Global flags]intx ActiveProcessorCount = -1 {produ ...

最新文章

  1. 常用的几种大数据架构剖析
  2. oracle 取整的几种方法
  3. 设置edittext不自动获取焦点
  4. 浏览器兼容性问题解决方案· 总结
  5. php console postman,postman内置脚本说明
  6. 小程序开发(7)-之获取手机号、用户信息
  7. python 风玫瑰图_python之windrose风向玫瑰图的用法
  8. 【Flink】Flink source后全过滤数据导致监控数据为0
  9. 命中书中题有奖反馈活动_三级网络技术
  10. 【转】C# 中@符号在字符串中的作用
  11. 如何下载矢量道路路网电子地图
  12. 反编译获取任何微信小程序源码(完)
  13. K-近邻算法(KNN)
  14. 清理浏览器html缓存图片吗,浏览器怎么清除缓存
  15. 使用mysql语句进行多表联查(以三个表为例)
  16. BC #38 / HDU5208 Where is Bob · 数位dp
  17. 我的职业性格测评报告
  18. 2020年十大办公室装修设计建议!
  19. 无线蓝牙耳机哪种款式好用?口碑最好的蓝牙耳机推荐!
  20. 理解HTML HTTP API 和URL

热门文章

  1. 学习css3中的动画
  2. WebLogic 12c 修改节点 Managed Server 和 AdminServer 内存方法
  3. html5学习笔记(audio)
  4. 数据库事务隔离级别(转)
  5. SDUTRescue The Princess(数学问题)
  6. Magento利用input type=”file”上传图片
  7. NSLocalizedString 实现国际化
  8. PE格式详细讲解11 - 系统篇11|解密系列
  9. Google Maps API 代码
  10. javq接口_Java的接口及实例