您的位置 首页 > 数码极客

『dmp文件如何查看』手机如何查看dmp文件内容!

1.问题说明:

某E-Leanring项目按验收要求由Tomcat环境迁移至IBM web环境后,多次出现应用服务器宕机重启的问题,影响系统使用。

2.日志分析

在WAS的Profiles目录下已存在大量的javacore和heapdump文件,经过查看javacore文件发现存在如下内容:

Free java heap size: 0

由应用服务器的业务日志中发现如下内容

Exception = java.lang.OutOfMemoryError

Source = com.ibm.ws.webcon

probeid = 290

Stack Dump = java.lang.OutOfMemoryError: unable to allocate 562304 bytes for native buffer

由上述问题判断系统发生了JVM内存溢出导致应用服务器重启。

3.故障定位

设置JVM堆最大值为1024m,启动后系统占用JVM堆内存约为600M,分别下载一个200M课件和一个700M课件,使用Jprofiler工具监控JVM内存使用情况。

下载完200M课件后,系统可以正常访问,JVM堆使用增加200M。

下载700M课件过程中,系统发生内存溢出,应用服务器无法访问,Jprofiler无法进行监控。

由上述现象分析,WAS在用户下载课件文件时,尝试将整个课件文件全部调入JVM后再推送给用户,导致JVM内存溢出。

4.解决手段

经查相关文档,We及6.1下载大文件时,会将文件读取到jvm,导致jvm发生内存溢出现象,对于websphere曾出现过内存溢出,并且存在文件下载情况的,建议设置以下参数:应用程序服务器->server1->web容器->定制属性,输入"com.ibm.ws.webcon "值"sync"

按上述步骤设置该参数后。同时下载4个700M课件,系统JVM堆大小无明显增长,系统正常访问,问题得以解决。

5.其它建议

1)按照IBM的建议,静态文件的下载应该交由webserver,而不是appserver去负责。建议在未来的系统设计中加以调整。

2)原有系统JVM堆最小值1024M,最大值1048M相对于IBM JDK的“标记”-“清除”的GC工作方式来说不是特别合理。建设在32位环境下JVM最小堆和最大堆分别设置为256M和1024M并设置-Xk30000参数减少内存碎片产生。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“dmp文件如何查看,手机如何查看dmp文件内容,dmp文件如何查看里面包含的表,dmp文件怎么查看,oracle,dmp文件查看,数据库dmp文件怎么查看”边界阅读