zoukankan      html  css  js  c++  java
  • JVM-问题定位示例

    内存溢出定位与分析

    1. 模拟内存溢出,向集合中添加极大数量的字符串

    package com.example.testcpu;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.UUID;
    
    public class TestJvmOutOfMemory {
    
        public static void main(String[] args) {
            List<Object> list = new ArrayList<>();
            for (int i = 0; i < 10000000; i++) {
                String str = "";
                for (int j = 0; j < 1000; j++) {
                    str += UUID.randomUUID().toString();
                }
                list.add(str);
            }
            System.out.println("ok");
        }
    }

    2. 运行参数:

    -Xms8m -Xmx8m -XX:+HeapDumpOnOutOfMemoryError

    结果:

    objc[78198]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/bin/java (0x103bf64c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x103c7a4e0). One of the two will be used. Which one is undefined.
    java.lang.OutOfMemoryError: Java heap space
    Dumping heap to java_pid78198.hprof ...
    Heap dump file created [7918632 bytes in 0.055 secs]
    Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at java.util.Arrays.copyOf(Arrays.java:3332)
        at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:137)
        at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:121)
        at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:421)
        at java.lang.StringBuilder.append(StringBuilder.java:136)
        at com.example.testcpu.TestJvmOutOfMemory.main(TestJvmOutOfMemory.java:14)
    
    Process finished with exit code 1

    定位死锁问题

    将dump文件导入到MAT中分析

    发现服务器的CPU的负载突然增

    高了、出现了死锁、死循环等,我们该如何分析呢?

    1. 找到CPU占比高的进程

    2. jstack查看线程情况,如发生死锁,会在最下面显示

  • 相关阅读:
    bzoj1081 [SCOI2005]超级格雷码
    bzoj3790 神奇项链
    bzoj2822 [AHOI2012]树屋阶梯
    bzoj1485 [HNOI2009]有趣的数列
    bzoj1486 [HNOI2009]最小圈
    bzoj2721 [Violet 5]樱花
    POJ 1238 Substrings
    ZOJ Team Formation
    POJ 1459 Power Network
    POJ 1458 Common Subsequence
  • 原文地址:https://www.cnblogs.com/yintingting/p/8893775.html
Copyright © 2011-2022 走看看