Saturday, June 13, 2009

-maxChildReqs Business Objects Job Server Child settings

If you are a Business Objects Administrator, you should definitely have a look at this. Whenever a report, be it WebI or Crystal, is scheduled, it is processed by it's respective Job Server. And if you or any BOE users with 'schedule' or higher rights need to schedule any report for multiple users, i.e. which generates multiple instances, you should use the " -maxChildReqs " function at the end of the command line of the job server(s) from Central Configuration Manager (CCM) of BOE XI. Failure to do so will affect your Business Objects environment due to Job Server Childs (JobServerChild.exe) not releasing the system memory. JobServerChilds are generated from Job Servers to process multiple report requests. However, they do not terminate or shut down right away without the -maxChildReqs command. Though they terminate after 2 hours of inactivity in XI, at approximately 40 MBs each, several dozens of these will surely choke your available system RAM.

I've gone ahead and made a simple video showing the before and after behavior of a BOE test environment consisting of 1 Crystal Reports Job Server in a dual core server. Crystal Report Job Servers can only process a maximum of 5 simultaneous jobs per CPU and since we have dual core, 2 CPUS-our max would be 10. I ran a simple Crystal Report for about 25 people to see how the job server handles the situation. Enjoy...

The following information is taken from "BusinessObjects XI Release Notes". Google it and read it from SAP site for further information.


The following lists information on job server settings:

• -maxJobs

Sets the maximum number of concurrent jobs processed by one job


• -type

Presets the job server type. Can be OUTPROC or MIXEDPROC.

OUTPROC causes the job server children to shutdown after every

job (like CE10 report job servers), MIXEDPROC causes the job

server children to shutdown after every 100 jobs.

• -maxChildReqs

Sets the maximum number of jobs processed by one job server child

before it shuts down and restarts (in case you want a to use a

number between 1 [OUTPROC] and 100 [MIXEDPROC])

Job server children will also automatically shut down if left unused for a period longer than 2 hours.