OSB:分析代理服务的内存

时间:2015-11-04 18:40:28

标签: weblogic12c osb

我在消息流中有多个代理。在OSB中有一种方法可以监视每个代理的内存利用率吗?我正在接受OOM,想要调查哪个代理正在吞噬所有/大部分内存。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您正在获取OOME,那么要么因为代理没有释放它使用的所有内存(所以即使一次只有一个请求也会失败),或者每次调用都会使用太多内存并且它会消失一定的阈值,但在低负荷下很好。你知道它是哪个吗?

无论哪种方式,您都希望在OOME上generate a heap dump,以便您可以调查正在发生的事情。这很烦人,但有时是必要的。最近一位同事不得不这样做来解决一些问题(一个问题是SB传输平台错误,一个是由于平台工作管理器错误导致的线程饥饿问题,最后一个问题是由于在exalogic中使用Muxer错误)。

如果它只是在负载下表现不佳,那么你需要进行常规的OSB优化,比如使用更少的Assign步骤(但每步分配更多的变量),在xquery而不是代理步骤中做更多的事情,特别是循环,不需要服务标注,因为它们可以很容易地在xquery中转换为for循环;你知道,所有standard stuff