热门搜索 :
考研考公
您的当前位置:首页正文

JVM-内存-内存溢出

来源:东饰资讯网

jvm内存结构

jvm内存01.png
  • 堆区
    jvm内存区域

    • young区
      • s0+s1
        s0和s1在同一时间点,只有一个在使用
        s0和s1是相等的
      • eden
    • old区
  • 非堆区
    jvm在本地的内存

    • codeCache 存放比如JIT信息
  • 查看JIT信息


    jit01.png

内存溢出的例子

这个例子,简单模拟了堆内存溢出和非堆内存溢出


jvm-内存溢出01.png

如何查看上图的内存溢出问题?

  1. 导出内存映像
    自动导出
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:HeapDumpPatch='./'

    使用jmap命令导出
    jmap -dump:format=b,file=heap.hprof $pid

  2. 使用mat分析映像文件
    占用内存的纬度
    对象多少的纬度


    jvm内存溢出02.png
jvm-内存溢出03.png
Top