当前位置:   article > 正文

Jprofiler分析OOM内存溢出_jprofiler metaspace 溢出

jprofiler metaspace 溢出


在项目中,如果突然出现了OOM故障,该如何定位并排除? 我们需要借助内存快照分析工具如MAT,Jprofiler, jvisualvm, arthas ,jconsole 等,本文示例jpfrofiler的使用。

1.堆溢出代码

先写一个堆溢出的程序:

package com.lchtest;

import java.util.ArrayList;
import java.util.List;

public class JvmSizeTest {
   

    public void testHeap(){
   //堆溢出
        List<byte[]> list = new ArrayList<>();
        int i=0;
        while (true){
   
            list.add(new byte[5*1024*1024]);
//            System.out.print("count is: "+(++i));
        }
    }
    int num = 1;
    public void testStack(){
    //栈溢出
        num++;
        this.testStack();
    }
    public static void main(String[] args) {
   
        long max = Runtime.getRuntime().maxMemory();
        long total = Runtime.getRuntime().totalMemory();
        System.out.println("max:" + (double) max/1024/1024 + "MB");
      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/823462
推荐阅读
相关标签
  

闽ICP备14008679号