首页 > 编程语言 >Java堆分析

Java堆分析

时间:2023-03-08 10:32:13浏览次数:42  
标签:分析 Java OOM 内存 解决 方法 溢出 原因


在JVM中,有以下内存区间:
堆、永久区、线程栈、直接内存

内存溢出(OOM)的原因及解决方法

堆溢出
原因:占用大量堆空间,直接溢出
解决方法:增大堆空间,及时释放内存

永久区溢出
原因:生成大量的堆
解决方法:增大Perm区(持久代)、运行Class回收

Java栈溢出
原因:操作系统没有提供足够的空间
解决方法:减少堆内存、减少线程栈大小

直接内存溢出
原因:ByteBuffer.allocateDirect()无法从操作系统获得足够的空间
解决方法:减少堆内存、有意触发GC

Tomcat OOM

Tomcat 在接收大量请求时发生OOM,获取堆Dump文件,进行分析。
使用MAT打开堆
分析目的:
找出OOM的原因
推测系统OOM时的状态
给出解决这个OOM的方法

补充:
MAT:基于Eclipse用于分析堆Dump文件的分析软件。

Java堆分析_Java堆分析


标签:分析,Java,OOM,内存,解决,方法,溢出,原因
From: https://blog.51cto.com/u_15997399/6107693

相关文章