zoukankan      html  css  js  c++  java
  • java内存溢出分析

    • 测试代码
     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<String> s=new LinkedList<String>();
    11         while (true) {
    12             s.add(UUID.randomUUID().toString());
    13         }
    14     }
    15 }
    • 配置测试用jvm参数

    -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=d:	est.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: est.hprof文件

    点击Finish之后生成分析报告

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

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

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

  • 相关阅读:
    Execution Context(EC) in ECMAScript
    Prototype Chain
    一次websocket的抓包体验
    nodejs 解析 base64 文本
    curl常用命令行总结
    nodejs stream基础知识
    typedarrays splice
    nodejs stream & buffer 互相转换
    nodejs buffer 总结
    ajax stream 一边下载二进制数据一边处理
  • 原文地址:https://www.cnblogs.com/LDDXFS/p/9717947.html
Copyright © 2011-2022 走看看