Tuesday, 17 March 2015

Troubleshoot - VMC and ICM dowm / IPC basics

It happened that after restart of SAP and underlying OS, I have VMC down. Not just Java part like usually (in that case just restart VMC in prod client - I could write some some very short article about this - on two-three lines), but whole VMC.
As newbie I was confused till I found out that I have down ICM on same application server and in log of it, I found out some more information. I missed this from start, because I forgot that ICM has to be running and checked after each restart on all SAP instances, not just central one  (yeah, I'm still junior).
And reason? Another of my wrong assumption. Even if you restart OS, IPC shared memory is not cleared. It actually saved to some meta file. So in my case, thanks to not cleared IPC, ICM does not have enough memory, fell down on start and VMC was unable to start.

Lessons learned?

- first part:
SMC are important on all application servers - not only central one (my bad memory from basic education).
VMC and ICM processes are using shared memory separately from rest of SAP AS, so they can fall or did not start because of full shared memory on OS.

- now second, more interesting part:
IPC (Inter-Program Communication) is way, how shared memory of OS is managed (I will not get to details now, this sentence is not completely correct, right). Important info is, that memory allocation is stored in /dev/mem and it's not cleared after restart of OS so during restart of SAP you need to free it always manually by submitting usual command:
cleanipc XX remove
(where XX is number of instance/s you need to clear)

if you want to be sure, all is cleared, you could check it by command:
ipcs -mS
or
ipcs -mS|grep -i <SID>adm

No comments:

Post a Comment