Resources un-available to create a DataStage parallel job:
DataStage is unable to create parallel jobs when system resources are limited.DK®
"DataStage parallel job fails with fork() failed, Resource temporarily unavailable"
Reason : Why this issue Occurs :DK®
This error occurs when the operating system is unable to create all of the processes that are needed for the job at run time. Unfortunately, the exact reason for the failure is not available. This problem occurs on UNIX and Linux platforms for the following reasons:
- The maximum process limit is reached
- The kernel or the maximum open file limit is reached
- The swap space allocation or pre-allocation is exceeded
Solution of this Problem :DK®
The exact methods for identifying and modifying process and file limits vary between the different UNIX and Linux platforms. The system administrator for the operating system must be engaged to assist with this.
If you are unable to adjust these limits, or if the limits are at maximum for your environment and the error still occurs, then the job run time is too large for this environment and you need to scale back the job run time. This might reduce performance, but allow the job to complete. To reduce the number of processes, use the following methods:
- Reduce the number of logical nodes in the APT_CONFIG_FILE
- Ensure that APT_DISABLE_COMBINATION is not set
The following command can be used on the Unix/AIX platform to see the current value of
maxuproc: lsattr -E -l sys0 | grep maxuproc
maxuproc: lsattr -E -l sys0 | grep maxuproc
A reasonable setting for environments that are running large jobs would be
MAXUPROC = 1000.
To optimize this value, you can monitor the number of processes over time that are running daily, and then set the value appropriately. Here is some sample shell script code that you can use to monitor the number of processes that belongs to the 'dsadm' user. The script loops 365 times and take a measurement every 5 seconds.DK®
#!/bin/sh
COUNTER=360
rm dsadm_count.txt
until [ $COUNTER -lt 0 ]; do
let COUNTER-=1
sleep 5
date >>dsadm_count.txt
ps -ef | grep dsadm |wc -l >> DSADM_uproc_values.txt
done
No comments:
Post a Comment