社区
Java EE
帖子详情
java内存溢出的问题如何排查?
袭烽
2010-06-24 05:44:10
最近项目测试中发现用一会就报java.lang.OutOfMemoryError: Java heap space,程序模块太多,排查起来比较困难,我想应该有一种工具可以很好监控虚拟机当前的状态,甚至帮我找出程序哪个地方最消耗内存,我想从根源上找到问题,不知道有没有好的工具,大家相互推荐下,在此先拜谢了!
...全文
732
5
打赏
收藏
java内存溢出的问题如何排查?
最近项目测试中发现用一会就报java.lang.OutOfMemoryError: Java heap space,程序模块太多,排查起来比较困难,我想应该有一种工具可以很好监控虚拟机当前的状态,甚至帮我找出程序哪个地方最消耗内存,我想从根源上找到问题,不知道有没有好的工具,大家相互推荐下,在此先拜谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ronniegxq
2010-06-25
打赏
举报
回复
[Quote=引用 3 楼 dracularking 的回复:]
有一个东西叫 Java memory profiler 不知道好不好
可以判断在程序中哪些方法分配了大量对象,也可以判断有没有被引用或者一开始不分配之类
http://www.khelekore.org/jmp/.
[/Quote]++
JackRui2008
2010-06-25
打赏
举报
回复
jprofile 可以跟踪到内存溢出的原因
dracularking
2010-06-25
打赏
举报
回复
有一个东西叫 Java memory profiler 不知道好不好
可以判断在程序中哪些方法分配了大量对象,也可以判断有没有被引用或者一开始不分配之类
http://www.khelekore.org/jmp/.
dr_lou
2010-06-25
打赏
举报
回复
jdk/bin/jvisualvm
kurama_mail
2010-06-25
打赏
举报
回复
如果你每个模块都有测试用例,直接跑一次就知道了。
如果没有,自己写一个拦截器,将所有模块调用之前的内存使用量和模块名用log打印。
分析log,判断内存泄露的可能方式。
一般来说在 “循环(包括递归)”、“I/O流”、“数据库海量数据存储”等地方比较容易出现。
最后罗嗦一句,做一个项目时最好团队成员一开始就相互做代码check。对技术功底比较弱的人员分配一些风险低的功能。这种项目一开测就出现OutOfMemoryError还算好,要的碰到每跑几周才出现OutOfMemoryError异常的话测试都发现不了。
java
内存泄露、溢出检查方法和工具
java
内存泄露、溢出检查方法和工具。 步骤: 1,使用linux命令生存堆栈文件 2,用MemoryAnalyzer.exe工具打开 3,根据工具生成的饼状图可以清晰的找出内存泄漏源
JAVA
内存泄漏分析工具
该工具用来
排查
线上程序出现内存泄漏或溢出,死锁等相关
问题
,快速分析堆栈异常情况,找到
问题
代码进行修复。
Java
内存溢出
问题
排查
分析
目录 前言 一、MAT(Memory Analyzer Tool) 二、软件初识 三、捕获dump文件 1、主动方式 2、被动方式 四、分析dump文件 总结 前言 项目运行过程中,我们可能会遇到
Java
内存溢出
Out Of Memory。此时我们可以借助内存分析工具MAT(Memory Analyzer Tool),来定位是哪里出现了
问题
。 一、MAT(Memory Analyzer Tool) 下载地址:Eclipse Memory Analyzer Open Source
面试官:内存泄漏,
内存溢出
如何
排查
?
前言 我们先来了解一下
Java
堆的组成机构。对于大多数应用来说,
Java
堆(
Java
Heap)是
Java
虚拟机锁管理的内存中最大的一块。
Java
堆是所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存 堆的结构如下 新生代老年代的具体划分比例如下 分代的主要作用就是为了更高效的管理内存 内存泄漏和
内存溢出
是2个不同的概念 内存泄漏:对象已经不使用了,但是还占用着内存空间,没有被释放
内存溢出
:堆空间不够用了,通常表现为OutOfMe.
java
内存溢出
怎么
排查
_
java
线上
内存溢出
问题
排查
步骤
一般线上遇到比较头疼的就是OOM
内存溢出
问题
,我们都会先看错误日志,如果错误日志能够定位出哪个类对象导致
内存溢出
,那么我们只需要针对
问题
修改bug就好。但是很多时候我们单凭日志无法定位出
内存溢出
问题
,那么我们这时候就需要以下操作来定位
问题
。1、top下对当前服务器内存有个大致了解top后 shift+M俺内存占用由大到小排序,RES是此进程实际占用内存,%MEM是占服务器总内存的49.8。2、利用...
Java EE
67,518
社区成员
225,875
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章