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
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值