`
lijj_72
  • 浏览: 21991 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

HP Unix 与 Websphere 集成问题解决方案

阅读更多

HP Unix Websphere 集成问题解决方案

      李俊杰

概述

某资金管理信息系统的操作系统是HP Unix 应用服务器为IBM Websphere。在系统开发应用中,偶尔出现启动死机现象,具体的说就是,当修改文件后,copy到应用服务器的相应位置,然后停止该服务,重启该服务,在重启服务的过程中偶尔会出现停滞现象。

错误原因及解决方案

错误信息

查看后台Systemout..xml,错误信息如下:

SRVE0100E: 未识别出由 servlet context 抛出的 init() 异常:java.lang.OutOfMemoryError: PermGen space

错误原因

PermGen space,全称是Permanent Generation space,就是说是永久保存的区域,用于存放ClassMeta信息,Class在被Load的时候被放入该区域从字面看,和存放InstanceHeap区域不同,GC(Garbage Collection)应该不会对PermGen space进行清理,所以如果你的APPLOAD很多CLASS的话,就很可能出现PermGen space错误。由于HP Unix 操作系统 设置PermGen space缺省参数相对较小则出现这种问题。每次启动服务时就会在 PermGen space中划分一块区域保存ClassMeta信息,所以随着启动服务次数的递增,则PermGen space剩余的空间就越来越小,直到不能支持某次重启服务所需要的空间。即报出了“java.lang.OutOfMemoryError: PermGen space”异常。

解决方案

调大PermGen space参数即可,服务器->应用服务器->server1->进程定义->java虚拟机,在该页面下面有“通用JVM参数”输入框,添加“  -XX:PermSize=<st1:chmetcnv tcsc="0" hasspace="False" sourcevalue="512" negative="False" numbertype="1" unitname="m" w:st="on">512M</st1:chmetcnv>”,注意和前面的参数要有空格分割。

建议

我们每次重启时,最好是重启Websphere应用服务器,而不是仅仅重启某个应用,这样就不会发生这种现象。XX:PermSize参数也不能调得过大,因为这块区域是不受GCGarbage Collection)控制的,所以如果调得太大,对你整个系统的性能会造成影响。

每次打补丁时,最好按正规的打包发布流程,重新启动Websphere应用服务器,并重新部署应用。

努力,在于我热爱我的事业,与中国的软件一起走向成熟,走向世界。
   
联系作者:lijj_72@hotmail.com
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics