Troubleshooting
Problem
DataStage Job Monitor fails due to an out of memory error.
Symptom
If the DataStage job log contains the following warnings:
- Warning main_program: failed to initialize job monitoring. Monitor information will not be generated.
- Warning: Failed to connect to JobMonApp on port 13401
Then, either the Job Monitor process died, or it encountered an error causing it to no longer listen on port 13401.
Check both the /opt/IBM/InformationServer/Server/PXEngine/java directory and the /pt/IBM/InformationServer/DSEngine directory for a javacore file. Check the javacore file for out of memory error such as the following example:
Check both the /opt/IBM/InformationServer/Server/PXEngine/java directory and the /pt/IBM/InformationServer/DSEngine directory for a javacore file. Check the javacore file for out of memory error such as the following example:
0SECTION TITLE subcomponent dump routine
NULL ===============================
1TISIGINFO Dump Event "systhrow" (00040000) Detail "java/lang/OutOfMemoryError" received
1TIDATETIME Date: 2011/05/30 at 12:00:00
The Job Monitor log file, /opt/IBM/InformationServer/Server/PXEngine/java/JobMonApp.*, can also show an out of memory error plus the location of javacore file.
Resolving The Problem
The maximum heap size for jobmon process must be increased to resolve the out of the memory error.
In the /opt/IBM/InformationServer/Server/PXEngine/java directory, make a backup copy of jobmonit script. Then, edit the jobmoninit script and find the code section shown in the following lines:
In the /opt/IBM/InformationServer/Server/PXEngine/java directory, make a backup copy of jobmonit script. Then, edit the jobmoninit script and find the code section shown in the following lines:
if [ "$systype" = Windows_NT ] ; then
$jrehome/bin/java -Xrs -classpath $CLASSPATH JobMonApp $jobmon_port1 $jobmon_port2 > $logfile 2>&1 &
else
if [ "$systype" = SunOS ] ; then
nohup $jrehome/bin/java -classpath $CLASSPATH JobMonApp $jobmon_port1 $jobmon_port2 > $logfile 2>&1 &
else
nohup $jrehome/bin/java -Xgcpolicy:balanced -classpath $CLASSPATH JobMonApp $jobmon_port1 $jobmon_port2 > $logfile 2>&1 &
fi
fi
For Linux machines, modify the last Java statement to add option -Xmx512m as the first parameter. The updated line should look like this:
else
nohup $jrehome/bin/java -Xmx512m -Xgcpolicy:balanced -classpath $CLASSPATH JobMonApp $jobmon_port1 $jobmon_port2 > $logfile 2>&1 &
For Windows, make a similar change to the first Java line:
if [ "$systype" = Windows_NT ] ; then
$jrehome/bin/java -Xmx512m -Xrs -classpath $CLASSPATH JobMonApp $jobmon_port1 $jobmon_port2 > $logfile 2>&1 &
Save the changes, and then stop and restart the Job Monitor application:
. /opt/IBM/InformationServer/Server/DSEngine/dsenv
/opt/IBM/InformationServer/Server/PXEngine/java/jobmoninit stop
/opt/IBM/InformationServer/Server/PXEngine/java/jobmoninit start
[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSZJPZ","label":"IBM InfoSphere Information Server"},"ARM Category":[{"code":"a8m50000000L0uaAAC","label":"DataStage-\u003EJob Monitor"}],"ARM Case Number":"TS008091806","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"11.3.0;11.3.1;11.5.0;11.7.0;11.7.1;9.1.0"}]
Was this topic helpful?
Document Information
Modified date:
26 January 2022
UID
swg21508253