cancel
Showing results for 
Search instead for 
Did you mean: 

Work Process SAP vs PID

Former Member
0 Kudos

Hi Experts,

I executed command ps -ef|grep dw on Solaris 10 and the output as below.

sidadm 12986 16780   0   Oct 31 ?       0:57 dw.sapSID_DVEBMGS30 pf=/usr/sap/SID/SYS/profil
sidadm 18291 16780   0 08:36:26 ?       0:26 dw.sapSID_DVEBMGS30 pf=/usr/sap/SID/SYS/profil
sidadm  4251 16780   0   Nov 01 ?       0:22 dw.sapSID_DVEBMGS30 pf=/usr/sap/SID/SYS/profil
sidadm 18379 16780   0 08:37:12 ?       0:04 dw.sapSID_DVEBMGS30 pf=/usr/sap/SID/SYS/profil
sidadm 28576 16780   0   Nov 01 ?       0:42 dw.sapSID_DVEBMGS30 pf=/usr/sap/SID/SYS/profil

I would like to know whether process on Oct 31 and Nov 01 are hung or reserved PID?

In RZ04 total work process is 90 work processes and when i executed command ps -ef|grep dw |wc -l, total work process is 90, same with parameter on RZ04.

Kindly tell me the concept of this issue.

Thanks

Edy

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

I would like to know whether process on Oct 31 and Nov 01 are hung or reserved PID?

Nobody is hung, these processes have been started on Oct 31 and Now 01. The other ones were restarted more recently. Restarts can happen for a couple of reasons (manually terminated, errors or automatically due to rdisp/wp_auto_restart or abap/heaplimit).

Edit: you can see the reason for the restart in the workprocess trace file dev_w<X> in the work directory.

Cheers Michael

Former Member
0 Kudos

Hi Michael,

Thanks for your response,

Actually, not just Oct 31 and Nov 01, but several old days like Nov 4,  Nov 7, etc. It is normal?

What happen if process id full on one user? there is possible to unable to fork or what?

Thanks

Edy

Former Member
0 Kudos

But several old days like Nov 4,  Nov 7, etc. It is normal?

Absolutely, this is completely standard behaviour. Theoretically all processes could have the system start date, but as i said for various reasons work processes are restarted now and then.

The process id's will be reused in  a circular manner, depending on the unix brand and parameters, you have around 50'000-100'000 pid's. I think some unixes can have 6-digit pid's. But the max number of processes is controlled by kernel parameters and usually much lower than 100'000.

I don't know the parameters for solaris but if you google for "solaris max number of processes" or check the relevant SAP note you will easily get that information if you are curious enough.

Cheers Michael

BTW: you can see on Nov 1 a process with pid 4251 was started, so the numbers have wrapped around between Oct 31 and Nov 1

sidadm  4251 16780   0   Nov 01 ?

Former Member
0 Kudos

Hi Michael,

I checked on solaris with command ulimit -a and the output show max number process per user is 29999.

What's zombie process counted to process id? cause zombie process is dead process.

if yes, can zombie process make full process id?

and what is the impact for system if process id on user was full?

Sorry for my basic questions

Thanks

Edy

Former Member
0 Kudos

Yes, the pid of a zombie cannot be reused as long as he is around.

http://zombieprocess.wordpress.com/what-is-a-zombie-process/

Because of this last little bit of information, the process will remain in the operating system’s process table as a zombie process, indicating that it is not to be scheduled for further execution, but that it cannot be completely removed (and its process ID cannot be reused)

Cheers Michael

Edit: and if a user has started 29999 processes, then he will get an error 'no more processes' when starting another one.

Answers (3)

Answers (3)

premsukh_bishnoi
Contributor
0 Kudos

Hi,

Here parent id would be dispatcher process id which is parent for all work process in this  case.

From above screenshot it is very difficult to say that it was in hung state.

Regards, premsukh

Former Member
0 Kudos

Hi Premsukh,

Thanks for your response,

The question mark (?) is waiting status, isn't it?

So, if i executed background job, the work process will be updated?

example:

sidadm 28576 16780   0   Nov 01 ?       0:42 dw.sapSID_DVEBMGS30 pf=/usr/sap/SID/SYS/profil

became

sidadm 28576 16780   0   09:50 ?       0:42 dw.sapSID_DVEBMGS30 pf=/usr/sap/SID/SYS/profil

Is it true?

Thanks

Edy

Former Member
0 Kudos

hi Edy,

if you see 16780 pid would have been started by some parent dw

and then this parent pid was started by sapstart

where in 1 is the parent process.

so while u start sap pid gets allocated.

so it goes like A>B>C

example

sidadm  77777       1  0  Nov  01  ?      0:00 sapstart pf=/....START........... (A)

sidadm 16780 77777 0   Oct 31 ?           0:57 dw.sapSID_DVEBMGS30 pf=/usr/sap/SID/SYS/profil (B)

sidadm 12986 16780   0   Oct 31 ?       0:57 dw.sapSID_DVEBMGS30 pf=/usr/sap/SID/SYS/profil  (C)

sidadm 18291 16780   0 08:36:26 ?       0:26 dw.sapSID_DVEBMGS30 pf=/usr/sap/SID/SYS/profil

sidadm  4251 16780   0   Nov 01 ?       0:22 dw.sapSID_DVEBMGS30 pf=/usr/sap/SID/SYS/profil

sidadm 18379 16780   0 08:37:12 ?       0:04 dw.sapSID_DVEBMGS30 pf=/usr/sap/SID/SYS/profil

sidadm 28576 16780   0   Nov 01 ?       0:42 dw.sapSID_DVEBMGS30 pf=/usr/sap/SID/SYS/profil

77777 is assumed pid

thanks.

former_member215961
Contributor
0 Kudos

Hi Edy,

Can you run a a lsof to know what process are using the the file /usr/sap/SID...

lsof /usr/sap/SID/SYS/profil

Cheers

Former Member
0 Kudos

Hi Sargan,

Thank you for your email.

In our solaris system, command lsof isn't found.

Do you have any idea?

Thanks

Edy