Datastage sever job - Memory usage issue

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
ktv
Participant
Posts: 4
Joined: Mon Jun 30, 2008 5:10 am

Datastage sever job - Memory usage issue

Post by ktv »

I'm facing a memory problem in datastage ..

A server job(call it the control job) is used to call 17 jobs, one by one, through routines in the transformer stage. This server job is said to take up half the datastage server memory through out the whole process ie., until all the 17 jobs are run.

I need to know
1. How to track the usage of memory ?
2. The reason for the datastage server memory usage of the control job. Is it because the other jobs are executed in the same memory space ?? Is there any other reason ?

Help solicited ...
ktv
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Memory usage can be monitored with system tools. The normal method of starting many other jobs is thorugh use of a job sequence. If you call the jobs from a transform they will most likely all get started at roughly the same time unless you build in a "-wait". How much memory is half of your server's memory?
ray.wurlod
Participant
Posts: 54595
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

DataStage jobs allocate to themselves only the memory they require. Using one job to invoke another (presumably through UtilityRunJob() or a similar function) starts a child process, which should have an independent address space.

DataStage does make use of shared memory for lock tables and various other structures; if there were nothing else happening then you may see this charged against your first-started job, since this was the first process to attach to the shared memory. Although I would really expect to see that the DataStage resource service be charged with that memory on Windows platforms. Are you sure that you've identified the correct process (and, if so, how)?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
ktv
Participant
Posts: 4
Joined: Mon Jun 30, 2008 5:10 am

Post by ktv »

ArndW wrote:Memory usage can be monitored with system tools. The normal method of starting many other jobs is thorugh use of a job sequence. If you call the jobs from a transform they will most likely all get started at roughly the same time unless you build in a "-wait". How much memory is half of your server's memory?


Thanks for the reply.

The jobs are being called in a routine by passing the job name as the parameter and using DSRunJob. So for each job, the routine is invoked. DSWaitForJob is used after DSRunJob to wait for the job to complete.

As for how much is half the servers memory, i'm not sure. I will post it as soon as i get the info.
ktv
Post Reply