版本:IBM InfoSphere DataStage V11.3.1
操作系统:linux redhat 6.4
场景:
最近开发环境,DS 作业运行不显示数据状态(即Link颜色变化以及数据量),同时在监控中看到的信息都是READY。最开始解决办法,重启服务器之后,可以解决该问题,但是过段时间该问题又会产生。
问题描述:
作业运行不显示数据流状态和数据量,同时在director 点击monitor看到作业状态如下:
在作业运行之后,日志信息可以看到如下预警:
- Warning main_program: failed to initialize job monitoring. Monitor information will not be generated.
- Warning: Failed to connect to JobMonApp on port 13401
问题分析:
查看JobMonApp.log in $PXEngine/java 日志 可以看出。是内存溢出了。
在IBM官网找了一篇记录该问题情况:http://www-01.ibm.com/support/docview.wss?uid=swg21508253
说是OutOfMemoryError(内存溢出)。修正$PXEngine/java 下的jobmoninit 文件。最终问题得到解决。
以下是和IBM DS顾问咨询信息,解释以上情况发生原因:
java monitor的heap 内存区不足导致 jobmonitor的应用停止。需要提高heap的大小 ,如代码-Xmx512m就是加大heap内存区 。重启系统的之后,这个应用内存被释放了,所以重启之后,该问题会暂时解决。但是在大批量调度作业还是会发生该问题。
http://blog.csdn.net/softwave/article/details/6238747 --这个博客是关于Java堆内存Heap与非堆内存Non-Heap 学习
问题解决:
在DS服务端路径/ds/informationServer/Server/PXEngine/java 找到文件jobmoninit 增加标红内容: 注:256,512,768,1024 这样加。