系統应用服务器内存溢出解决报告.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系統应用服务器内存溢出解决报告

目 录 第一章 问题现象与分析 3 1.1、问题现象 3 1.2、通常导致这种现象的原因 3 1.3、xxx社保宕机现象对比分析 4 第二章 解决方法路线图 6 2.1 jvm的调整 6 2.2 减少jvm内存使用 7 2.2.1 加快db访问速度,减少中间件并发业务量 8 2.2.2 限制sql返回结果集 8 2.2.3 减少业务会话中存放的对象 8 2.3 补救措施 9 第三章、解决结果与进一步建议 9 3.1 解决结果 9 3.2 进一步建议 10 第一章 问题现象与分析 1.1、问题现象 XXX应用服务器经常有内存溢出、系统没有响应的现象,尤其在每月的月末最为明显。目前的应用服务器有三种类型,其中ibm和linux应用服务器报告频繁出现内存溢出或没有响应的现象,hp unix应用服务器相稳定。在出现问题期间Weblogic无法响应任何客户端请求,大量请求加载到了这台没有响应的Server上,最后只有杀掉并重启这台应用服务器。 1.2、通常导致这种现象的原因 WLS Server 没响应可能的几种原因: 1、繁重的I/O,呼叫DB时间过长导致中间件内存耗尽,server没有响应。 2、程序死循环,loop-backs,这种情况cpu很忙,系统没有响应。 3、连接到外部server,没响应,由于网络等原因 4、2个以上的执行者同步死锁 5、业务量过大,全部线程都被占用,出现队列等待现象 6、读写本地I/O,发生阻塞 WLS Server 宕机的原因: OutOfMemory JNI程序 jvm的bug os的bug 1.3、xxx社保宕机现象对比分析 应用服务器没有响应分析 通过初步判断,对于xxx应用服务器没有响应的情况可以做如下排出法解决: ――程序死循环 这种情况会导致cpu非常繁忙,而通过目前观察,每次系统没响应的时候,cpu没有一直100%忙,另外,对出现问题时的java core分析没有发现这类线程,因此可以基本排除这种可能,。 ――连接到外部server,没响应,由于网络等原因 目前我们的业务基本都是直接通过中间件访问数据,没有通过应用服务器间调用或多数据库调用的,基本排除这种可能。 ――2个以上的执行者同步死锁 这种情况有可能,但比较难找,一般都是业务高峰的时候才有可能出现,跟应用人员了解后得知我们很少使用同步方式实现对资源的共享。另外通过对javacore进行分析,并未发现同步造成的死锁现象。 ――业务量过大,全部线程都被占用,出现队列等待现象 通过观察我们的业务量在高峰时确实很大,但由于我们配置的线程数都很高,尽管出现宕机时也没有达到配置的上线,所以这个方面可以被排除。 ――繁重的I/O,呼叫DB时间过长导致中间件内存耗尽 由于我们经常有新业务变更,尤其近期还有居民医保业务上线,因此I/O问题导致的因素也需要重点考察! ――读写本地I/O,发生阻塞,多线程耗尽jvm内存 这种现象很可能发生,应重点给予关注 对WLS SERVER 宕机的几种情况的分析: ――OufOfMemory 目前xxx社保应用服务器出现宕机的时候基本都表现为这种现象,这也是中间件服务器最常见的现象。原因可能有多种,可能是平台的,多数情况下是物理内存配置过低,或jvm参数配置过低造成的。但通过对xxx社保配置参数进行分析发现参数基本合理,除了线程数和连接池配置稍大点,其它都很正常。由此分析是估计是其它原因造成的。 其它可能的原因可能是平台原因,比如jvm版本、垃圾回收方式和算法的缺陷等;也可能是应用造成的,比如业务并发量过大,内存不足造成,也可能是返回大结果集以及会话存放对象过多等原因。因此重点是找出可行的解决方案,避免出现内存溢出,减少对jvm内存的使用量。 ――平台bug 比如jni、jvm、os的bug等。每个weblogic版本都有对应的平台Jni,用来增加系统性能,但有时表现出不稳定的现象。Jvm和os版本对WLS server的稳定更是影响很大,通过以前的记录发现ibm和linux的应用服务器比hp出现的宕机频率更多些,因此有必要对ibm和linuxjvm做些分析和调整。 第二章 解决方法路线图 通过前面分析把解决问题的路线图定位在三方面,一个是调整现有平台jvm版本和参数,尽量达到平台的稳定性;另外一个是考虑如何减少jvm内存的使用上,尤其要解决访问DB慢以及返回大结果集这两方面,以期通过增强访问速度减少并发量,减少返回结果对内存的占用,从而使系统不发生或少发生OutOfMemory现象。另外,在意外出现宕机的情况下,通过负载均衡器的配置实现新请求直接发送给其它运行正常的服务器。 2.1 jvm的调整 采用方法: 调整ibm应

文档评论(0)

df9v4fzI + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档