本文讲解了如何设置JavaVM参数实现在Full

GC前后自动生成Dump。共有三个VM参数需要设置:

HeapDumpBeforeFullGC 实现在Full GC前dump。

HeapDumpBeforeFullGC 实现在Full GC后dump。

HeapDumpPath 设置Dump保存的路径

设置这些参数的方法,这里总结了四种,大家可以根据情况选择使用。

方法1:

启动jvm时,带上这些参数(这个方法适合开发测试环境)

Java -Xms200m -Xmx200m -Xmn50m

-XX:PermSize=30m -XX:+HeapDumpBeforeFullGC -XX:+HeapDumpAfterFullGC

-XX:HeapDumpPath=e:\dump testgc.Main

方法2:

使用JConsole等工具调用JMX服务的com.sum.management.HotSpotDiagnostic.setVMOption方法来实现。

第一个参数为HeapDumpBeforeFullGC, 第二个参数为true表示在Full GC前进行dump.

第一个参数为HeapDumpAfterFullGC, 第二个参数为true表示在Full GC前进行dump.

方法3:

使用jinfo命令进行设置。(生产环境常用的方法)

第一步,通过jps获得java程序的pid

#jps 5940Main 3012 Jps

第二步,调用jinfo命令设置VM参数

#jinfo -flag

+HeapDumpBeforeFullGC 5940 #jinfo -flag

+HeapDumpAfterFullGC 5940

方法4:

开发程序调用JMX的API来实现

得到了Full GC前后的dump, 接下来就可以使用一些分析工具(如MAT)来分析Full GC产生的原因了。

java gc时自动收dump_Full GC分析:设置Java VM参数实现在Full GC前后自动生成Dump相关推荐

  1. java中Mark接口_JVM源码分析之Java对象头实现

    原标题:JVM源码分析之Java对象头实现 原创申明:本文由公众号[猿灯塔]原创,转载请说明出处标注 "365篇原创计划"第十一篇. 今天呢!灯塔君跟大家讲: JVM源码分析之Ja ...

  2. java多线程系列:ThreadPoolExecutor源码分析,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  3. dv算法java实现_各种排序算法的分析及java实现(二)

    更多精彩,请点击上方蓝字关注我们! 上次跟大家分享了下各种排序算法的分析及java实现(一)的相关知识,今天跟大家分享各种排序算法的分析及java实现(二)的知识.昨天我们讲到了选择排序,今天我们继续 ...

  4. java共识算法_PBFT共识算法详细分析及Java实现

    PBFT共识算法详细分析及Java实现 为什么写这个 最近研究了区块链相关的一些东西,其实就三大块: 分布式存储(去中心) 共识机制 安全加密 分布式存储,就是一个分布式数据库,每个节点都保存一份副本 ...

  5. 【小题目】写JAVA程序时可以创建一个名为123.java的源文件吗

    在写JAVA程序时创建名为123.java的源文件,前提是该源文件中没有public修饰的类,因为一旦使用public修饰后类名必须与文件名相同,而类名为标识符,不能以数字开头.因此,在没有用publ ...

  6. java 代码智能提示,如何在Eclipse中设置Java、JavaScript、HTML智能代码提示

    使用eclipse自带的插件,无需另外安装插件,具体步骤如下 1.打开eclipse→Windows→Preferences→Java→Editor→Content Assist 修改Auto Act ...

  7. Java运行时动态加载类之ClassLoader方法带参数

    和该文环境一样http://blog.csdn.net/fjssharpsword/article/details/64922083 不同的是,在load出的class调用具体方法时传递参数. 1.U ...

  8. Java编译器调试不了_使用Maven设置Java编译器的-source和-target-不起作用

    我已经设置了pom文件,要求Maven使用sourceand targetconfig参数将我的源代码编译为1.5版兼容.这是我的pom: 4.0.0 com user 0.0.1-SNAPSHOT ...

  9. Java 技术篇-linux系统下安装jdk、设置java环境变量实例演示

    Oracle 官网-各版本 jdk 选择页 可以在该页面选择要安装的版本进入到下载页. Oracle 官网-演示 jdk1.8 下载页 在该页面选择对应的系统进行下载. 我选择的是 64 位 linu ...

最新文章

  1. 坐标1-based和0-based
  2. 面试题目集锦 -- 排序算法
  3. 素数分布 - nefu 117
  4. BZOJ 1097 [POI2007]旅游景点atr
  5. jboss linux 性能,搭建jprofiler对jboss性能监控
  6. 求序列第K大算法总结
  7. mysql _ 通配符_mysql查询中通配符的使用
  8. oracle 日期转换成毫秒数,ORACLE:毫秒与日期的相互转换,获取某天的信息
  9. 对比视图和存储过程的使用和学习体会进行选择。
  10. 想成为架构师,你必须掌握的CAP细节
  11. css分页实例讲解,CSS 分页实例
  12. InteliiJ IDEA的安装配置与简单使用
  13. 权重尺寸的计算,张量(图像)的尺寸,以及卷积神经网络(CNN)中层参数的计算,以及FC的维度卷积替代方案
  14. 最新论文阅读(17)--Pyramidal RoR for Image Classification
  15. 安卓模拟器自动抓取某红书晒单数据
  16. 字节跳动扣响搜索扳机
  17. python安装成功截图_上传Anaconda 3 安装好后在电脑开始里面的截图。
  18. linux加载u盘乱码怎么转换,Linux系统下加载U盘设备时文件乱码的有效解决方法
  19. 听见丨HTC发布新款Vive Pro,采用高分辨率OLED屏并内置耳机 高通在CES上发布新芯片,可将蓝牙耳机续航延长3倍
  20. html css制作404页面,一款纯css3实现的漂亮的404页面

热门文章

  1. THINKPHP3.2视频教程
  2. zooland 新开源的RPC项目,希望大家在开发的微服务的时候多一种选择,让微服务开发简单,并且容易上手。...
  3. NGUI EventDelagate事件委托
  4. 调查|73%的公司正使用存在漏洞的超期服役设备
  5. 汽车之家的安全框架,是如何从0到1搭建的?
  6. 如何快速掌握一门新技术/语言/框架
  7. Web优化 --利用css sprites降低图片请求
  8. CentOS7.0 安装 tomcat-9.0
  9. MVC4下配置log4net 五部曲
  10. 为什么说任何基于比较的算法将 5 个元素排序都需要 7 次?