How does the ESP Agent for unix platforms set the ulimit for a particular user defined in the Unix dSeries job?

Document ID : KB000050831
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

We have some jobs that complete but do not set the ulimit function properly when submitted through Dseries to the ESP Agent for AIX.

We can run the same script using the same userid directly from the command line on the Agent's node and the ulimits do work correctly.

Solution:

The Agent inherits ulimits from its parent process - the shell that is used to start it.

For example, if a user used ssh to logon into the box and that presented the user with ksh, then whatever ulimits are in there will be inherited by the agent itself.
The Agent when it is running as root switches a job user id and sources the job user's profile, but does not explicitly modify ulimits;
as such targeted script or binary would inherit the ulimits from the Agent.

It is advisable to set all ulimits to unlimited before starting the Agent:
this can be set in the cybAgent script right before exec statement. Find below an example of cybAgent script on Sun Solaris:

LD_LIBRARY_PATH=.:/espresso/nemmi01/MNSUNR7    
export LD_LIBRARY_PATH      
ulimit -a unlimited 
exec 'pwd'/cybAgent.bin "$@"

Also, it is recommended to specify a user id explicitly in the job definition in order to emulate a regular logon process as closely as possible.