博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java内存溢出分析
阅读量:7044 次
发布时间:2019-06-28

本文共 926 字,大约阅读时间需要 3 分钟。

  • 测试代码
1 package test; 2  3 import java.util.LinkedList; 4 import java.util.List; 5 import java.util.UUID; 6  7 public class DumpTest { 8  9     public static void main(String[] args) {10         List
s=new LinkedList
();11 while (true) {12 s.add(UUID.randomUUID().toString());13 }14 }15 }
  • 配置测试用jvm参数

-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=d:\test.hprof
  • 说明

HeapDumpOnOutOfMemoryError 内存溢出时dump文件保存在HeapDumpPath指定的位置,-XX:HeapDumpPath=/usr/local/tomcat 这样可以只指定保持的目录

-Xms20m 指定JVM初始内存为20m,-Xmx20m 指定JVM最大可用内存为20m

  • 运行结果

 

  • 软件准备

     下载Eclipse Memory Analyzer 并解压, 地址 http://www.eclipse.org/mat/downloads.php

 使用Eclipse Memory Analyzer打开d:\test.hprof文件

点击Finish之后生成分析报告

 

也可以使用jmap命令导出dump信息

linux# jmap -dump:file=/usr/local/tomcat/tomcat_8082/dumpfile01.hprof  12055

其中 12055 是进程号可以使用jps命令查看java进程信息

 

转载于:https://www.cnblogs.com/LDDXFS/p/9717947.html

你可能感兴趣的文章
洛谷——P1038 神经网络
查看>>
codevs——2548 自然数积分解
查看>>
ubuntu pip换下载源
查看>>
为用户分配角色 C#
查看>>
java的类class 和对象object
查看>>
(转)iOS开发常用的宏 大家一起来收集~
查看>>
与图论的邂逅04:LCT
查看>>
AngularJS的除date外的其它 过滤器
查看>>
屏蔽ps联网激活
查看>>
Line belt
查看>>
OpenFileDialog对话框Filter属性(转)
查看>>
Error:Failed to resolve: com.android.support:appcompat-v7
查看>>
C#继承的用法
查看>>
php BC 高精确度函数库
查看>>
nginx 添加的配置信息
查看>>
IntelliJ IDEA 源值1.5已过时,将在未来所有版本中删除
查看>>
ios中在uiNavigationcontroller中做转场动画
查看>>
Web应用程序系统的多用户权限控制设计及实现-项目架构【3】
查看>>
OpenCV学习-——OpenCV永久配置(win7 64位+VS2012+OpenCV 2.4.6)
查看>>
【枚举】POJ 3279
查看>>