操作系统:CentOS6.7
JDK版本:jdk1.6.0_45
中间件版本:apache-tomcat-6.0.37
JVM堆内存配置:-Xms8192m-Xmx8192m
系统前台应用节点告警“URL连接超时”
jstat -gcutil PID
经过查看,JVM堆内存的年轻代和老年代使用率达到100%
Heap Dump是Java进程所使用的内存情况在某一时间的一次快照。以文件的形式持久化到磁盘中。
jmap-dump:live,format=b,file=./log/`hostname`heap.hprof
jcmd
-XX:+HeapDumpOnOutOfMemoryError
当OutOfMemoryError发生时自动生成Heap Dump 文件。
本次dump文件为jmap命令手动生成。
ftp -n
open 192.168.xxx.xxx
user username passwd
passive
binary
hash
lcd /app/scripts/log #headdump路径
prompt
cd dump #远程服务器路径
mput heap.hprof #headdump文件
close
bye
通过DominatorTree视图可以很容易的找出占用内存最多的几个对象(根据RetainedHeap或Percentage排序)
以下为输出的线程信息:
通过分析我们发现cn.chinatowercom.crm.pub.common.StaticParam.queryStaticParam这个线程为可疑线程。交由开发排查发现该线程为导出时生成,导出数据量较大,从缓存获取的省市区信息,每次只能获取一条,循环翻译导致内存溢出。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/130003.html
摘要:直到有一天你会碰到线上奇奇怪怪的问题,如线程执行一个任务迟迟没有返回,应用假死。正好这次借助之前的一次生产问题来聊聊如何排查和解决问题。本地模拟上文介绍的是线程相关问题,现在来分析下内存的问题。尽可能的减少多线程竞争锁。 showImg(https://segmentfault.com/img/remote/1460000015568421?w=2048&h=1150); 前言 之前或...
摘要:结合的日志发现就算是发生了老年代也已经回收不了,内存已经到顶。定位由于生产上的内存文件非常大,达到了几十。也是由于我们的内存设置太大有关。同时后台也开始打印内存溢出了,这样便复现出问题。结果发现类型的对象占用了将近的内存。 showImg(https://segmentfault.com/img/remote/1460000016186784?w=2048&h=1365); 前言 Ou...
摘要:我所在的美团酒店事业部去年月份成立,新的业务新的开发团队,这一切使得我们的前后端分离推进的很彻底。日志监控平台日志监控平台是美团内部的一个日志收集系统,目前美团统一使用收集日志,具有接收格式日志的能力,而日志监控平台也是以格式日志来收集。 转自:美团技术团队 作者:美团技术团队 分享理由:很好的分享,可见,基于Node的前后端分离的架构是越显流行和重要,前端攻城狮们,No...
摘要:内存溢出分配的内存空间超过系统内存。内存泄漏的原因分析由大块组成堆,栈,本地方法栈,程序计数器,方法区。内存溢出的原因分析内存溢出是由于没被引用的对象垃圾过多造成没有及时回收,造成的内存溢出。小结栈内存溢出程序所要求的栈深度过大导致。 showImg(https://segmentfault.com/img/bVbweuq?w=563&h=300); 前言:JVM中除了程序计数器,其他...
摘要:换句话说就是,让测试更有针对性。得益于强大的测试技术,兼容性测试的检出率远远高于业界水平。同时,在性能测试方面,即提供了项性能指标曲线性能分析,更提供了强大的内存泄漏和内存溢出的检测和分析能力。 摘要: Android兼容性测试旨在帮助解决Android应用在不同真机机型上的各类兼容性问题,包括 Crash/ANR分析、6项性能分析、UI检测、3个版本的覆盖安装检测等。Android兼...
阅读 1346·2023-01-11 13:20
阅读 1684·2023-01-11 13:20
阅读 1132·2023-01-11 13:20
阅读 1858·2023-01-11 13:20
阅读 4100·2023-01-11 13:20
阅读 2704·2023-01-11 13:20
阅读 1385·2023-01-11 13:20
阅读 3597·2023-01-11 13:20