PI JAVA SERVER,启动失败Heap OutOfMemory

回顾一下,曾经由于无知(初次接触PI)的遭遇战。。

ECC通过PI向第三方系统发送消息,将PI的某条传送连接(传送主数据),发送时间间隔设置为了0,然后无心无肺happy地就去吃饭了。
45分钟之后,酒足饭饱归来,发现PI JAVA Server死掉了。

傻眼。。

0s发送时间间隔(如果想要仅发送一次:值设置足够大,不要设置为0),意味着持续不断的发送;导致吃饭期间,PI需要传送大量的数据,队列里有超多待处理的消息,越加载越多,导致PI JAVA SERVER memory leak。

JAVA SERER Restart也不行,log提示heap out of memory(JAVA SERVER启动时,加载了未处理的消息至队列)。。

使用SAP Memory Analyzer(sap提供的一款基于Eclipse的内存分析工具)分析,确认了上述情形: 系统启动时,传输连接加载未处理消息,占用了大量的heap memory(70%),所以启动失败。

最终查得notes:
note 994433
note 1253826
note 1395622
其中可以获取一附件:changeServiceStartMode.pdf

解决办法:
起JAVA SERVER之前在configtool中将service:com.sap.aii.adapter.jdbc.svc停掉,这样在java server启动的时候不会自动加载未处理的XML messages,也就不会导致heap memory leak。
但是启动之后,毕竟service没起,所以SXI_MONITOR中看到的信息全部会卡在队列。
在NWA中将此service起起来,删除不需要的not yet processed的记录,再在configtool中恢复原样(将之前设置的默认不启动的service删掉)。

好吧,折腾过了,稍微学到点东西。。

经常听到“无知者无畏”,真心不假。
自勉:在没有了解情况,有所把握之前,坚决不能乱操作。想当然/自以为,终会酿成大错。此次庆幸,万幸。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值