dsapi processes for a job
Moderators: chulett, rschirm, roy
-
- Premium Member
- Posts: 103
- Joined: Tue Oct 14, 2003 4:07 am
dsapi processes for a job
Can anaybody tell about-
1] what are dsapi processes
2] how many dsapi processes are create on the operating system
3] what is the diffence between dsapi and phantom processes for a datastage job.
Thanks
Mukund
1] what are dsapi processes
2] how many dsapi processes are create on the operating system
3] what is the diffence between dsapi and phantom processes for a datastage job.
Thanks
Mukund
-
- Participant
- Posts: 1
- Joined: Thu Mar 18, 2004 1:10 am
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
You can probably work out that dsapi stands for "DataStage API".
When a DataStage client connects, it does so through the dsrpc mechanism, requesting the dscs service (unirpc and uvcs for earlier DataStage releases that were built on UniVerse).
After verifying that the user's machine is authorised to request the dscs service, by looking in the dsrpcservices file, the listener process (dsrpcd) initiates the executable associated with this service. The name of the executable associated with dscs is dsapi_server. This process maintains the connection with the client (looking after inactivity timeout for example) and handles requests for activity (retrieval or storage and so on).
A dsapi_server does not do much actual processing. Most of the processing that the client requests is handled by forking a helper process, which runs as dsapi_slave. It is unusual that a dsapi_server process has more than one dsapi_slave at any one time, because the helper processes can terminate once they've finished the task they were given.
So, what you should be seeing are:
When a DataStage client connects, it does so through the dsrpc mechanism, requesting the dscs service (unirpc and uvcs for earlier DataStage releases that were built on UniVerse).
After verifying that the user's machine is authorised to request the dscs service, by looking in the dsrpcservices file, the listener process (dsrpcd) initiates the executable associated with this service. The name of the executable associated with dscs is dsapi_server. This process maintains the connection with the client (looking after inactivity timeout for example) and handles requests for activity (retrieval or storage and so on).
A dsapi_server does not do much actual processing. Most of the processing that the client requests is handled by forking a helper process, which runs as dsapi_slave. It is unusual that a dsapi_server process has more than one dsapi_slave at any one time, because the helper processes can terminate once they've finished the task they were given.
So, what you should be seeing are:
- one dsapi_server process for each connected DataStage client
zero (or slightly more than zero) dsapi_slave processes per dsapi_server processes
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
Actually I probably should have continued to talk about zombie dsapi processes too, but didn't. The most likely causes are disconnections from parent processes, whether network dropouts, aborted jobs being run in debugger, or whatever.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
-
- Premium Member
- Posts: 103
- Joined: Tue Oct 14, 2003 4:07 am
Hi Ray,
Thanks for the reply.
As per you material above dsapi_slave processes are caused by Client. We see aound 1600 dsapi_slave processes .But around 5 people accessing the server from client . Then how come these many processes get formed ?
Should I consider these dsapi_slave processes as zombie dsapi processes.
Thanks for the reply.
As per you material above dsapi_slave processes are caused by Client. We see aound 1600 dsapi_slave processes .But around 5 people accessing the server from client . Then how come these many processes get formed ?
Should I consider these dsapi_slave processes as zombie dsapi processes.
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
I'll be in that part of the world next week (India, that is, not necessarily the land of 1600 dsapi_slave processes!).
Mukund, can you take a look at the output of this command:to determine whether they've been around for a long time, or are fairly recent?
And can you tell us whether the deadlock daemon (dsdlockd) is running?This process has, as one of its tasks, the job of cleaning up after defunct processes.
Mukund, can you take a look at the output of this command:
Code: Select all
ps -ef | head -1 ; ps -ef | grep dsapi | grep -v grep
And can you tell us whether the deadlock daemon (dsdlockd) is running?
Code: Select all
ps -ef | grep dsdlockd | grep -v grep
Last edited by ray.wurlod on Wed Jul 28, 2004 6:09 am, edited 1 time in total.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
-
- Premium Member
- Posts: 103
- Joined: Tue Oct 14, 2003 4:07 am
Hi Ray,
I am currently in UK.
Today we have less dsapi running. We got 1600 dsapi running day before yesterday and as a immediate fix the server was rebooted.
As of now , I am getting following output from the first command:
UID PID PPID C STIME TTY TIME CMD
dsadm 17629 17619 0 14:17:56 ? 0:00 dsapi_slave 10 9 0
dsadm 17297 17292 1 14:17:54 ? 0:02 dsapi_slave 10 9 0
dsadm 17508 17498 0 14:17:55 ? 0:00 dsapi_slave 10 9 0
dsadm 29704 29679 0 10:34:38 ? 1:33 dsapi_slave 10 9 0
dsadm 28936 28916 0 12:13:41 ? 0:15 dsapi_slave 10 9 0
dsadm 17269 17263 0 14:17:54 ? 0:01 dsapi_slave 10 9 0
dsadm 12188 12159 0 12:46:21 ? 1:49 dsapi_slave 10 9 0
dsadm 17591 17582 0 14:17:56 ? 0:00 dsapi_slave 10 9 0
dsadm 17548 17538 0 14:17:56 ? 0:00 dsapi_slave 10 9 0
And deadlock deamon is not active as the second command gives now output. How do I start the deadlock deomon.
I am currently in UK.
Today we have less dsapi running. We got 1600 dsapi running day before yesterday and as a immediate fix the server was rebooted.
As of now , I am getting following output from the first command:
UID PID PPID C STIME TTY TIME CMD
dsadm 17629 17619 0 14:17:56 ? 0:00 dsapi_slave 10 9 0
dsadm 17297 17292 1 14:17:54 ? 0:02 dsapi_slave 10 9 0
dsadm 17508 17498 0 14:17:55 ? 0:00 dsapi_slave 10 9 0
dsadm 29704 29679 0 10:34:38 ? 1:33 dsapi_slave 10 9 0
dsadm 28936 28916 0 12:13:41 ? 0:15 dsapi_slave 10 9 0
dsadm 17269 17263 0 14:17:54 ? 0:01 dsapi_slave 10 9 0
dsadm 12188 12159 0 12:46:21 ? 1:49 dsapi_slave 10 9 0
dsadm 17591 17582 0 14:17:56 ? 0:00 dsapi_slave 10 9 0
dsadm 17548 17538 0 14:17:56 ? 0:00 dsapi_slave 10 9 0
And deadlock deamon is not active as the second command gives now output. How do I start the deadlock deomon.
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
The best way is to configure it for auto-start in the dsdlockd.config file in the DataStage engine directory on the server.
Log in as superuser, cd to the DataStage engine directory, invoke UniVerse, and bring up DEADLOCK.MENU; there is an option on this menu for starting the dsdlockd process.
Check that it starts successfully, using the command I gave you earlier.
Knew you'd left Reliance; just assumed you'd stayed in Mumbai!
Log in as superuser, cd to the DataStage engine directory, invoke UniVerse, and bring up DEADLOCK.MENU; there is an option on this menu for starting the dsdlockd process.
Check that it starts successfully, using the command I gave you earlier.
Knew you'd left Reliance; just assumed you'd stayed in Mumbai!
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
-
- Premium Member
- Posts: 103
- Joined: Tue Oct 14, 2003 4:07 am
ray.wurlod wrote:The best way is to configure it for auto-start in the dsdlockd.config file in the DataStage engine directory on the server.
Log in as superuser, cd to the DataStage engine directory, invoke UniVerse, and bring up DEADLOCK.MENU; there is an option on this menu for starting the dsdlockd process.
Check that it starts successfully, using the command I gave you earlier.
Knew you'd left Reliance; just assumed you'd stayed in Mumbai!
Superuser - you mean to say I have to logon as 'root' ?
Thanks
Mukund
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
Bummer... sorry.
I started with 3.1 but some of these subtle "do it this way in x.x but this other way in y.y and don't forget it was broken for awhile in x.yr3" have long since fled my mind. I need to get me a copy of your magic notebook, this is all too much for a mere Muggle.
I started with 3.1 but some of these subtle "do it this way in x.x but this other way in y.y and don't forget it was broken for awhile in x.yr3" have long since fled my mind. I need to get me a copy of your magic notebook, this is all too much for a mere Muggle.
-craig
"You can never have too many knives" -- Logan Nine Fingers
"You can never have too many knives" -- Logan Nine Fingers