cancel
Showing results for 
Search instead for 
Did you mean: 

Cannot create Shared Memory

Former Member
0 Kudos

Hi,

For maintenance activity we have restarted the system. When I checked in

ST06 for os collecotor is not running and "warning: cannot create shared memory". Then I have performed the following commands at OS level

saposcol u2013d

Collector > clean

Collector > quit

saposcol -k to stop the collector.

Before restarting

saposcol -d

Collector > leave (You should get a message Shared memory deleted)

Collector > quit

move the coll.put file

saposcol u2013f(Start the saposcol)

When I executed the last command. I got message saying that "Cannot create Shared Memory"

Environment:

Windows 2003 cluser environment.

4.6c

oracle 10g

Thanks and Regards

Satya

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Reboot is only one option to avoid shared memory issue on Windows system.

*You can free-up the memory in *nix platforms by running ipcrm command which is not possible in windows.

Reboot your system or Try to find out the hung process in task manager and kill(sometimes releases the shared memory)

Regards,

Nick Loy

xymanuel
Active Participant
0 Kudos

Hi Nick,

it is not correct that reboot is the only option.

Under Windows, there is no command like #ipcs under Unix to show and delete Shared Memory Segemnts.

Shared Memory Segemnts under Windows are Section Handles.

The saposcol creats an Section Handle named "SAP_SYSTEM_SHM_99_1002". The Work processes use this Shared Memory Segement to interact with the saposcol.

If you stop the saposcol, the Shared Memory Segement will be alive, as long as one of the Workprocesses (disp+work.exe) uses this Handle.

How to analyse this:

use Process Explorer from the Sysinternals Tools.

if possible, start "c:\saposcol.exe -d"

In the Process Explorer, select the saposcol.exe process and try "View->Show lower Pane" with Handles.

Scroll down, to find the Section Handle with the SHM, and you will see its "SAP_SYSTEM_SHM_99_1002".

Now stop the saposcol with the commands in this order: kill, clean, leave, exit.

Then use "Find->Find handle or DLL" in Processexplorer.

Try to find "99_1002".

Now you will see a bunch of disp+work.exe Processes. Identify the by the PID and kill them in SM50 (be carfull that it is not running).

After restarting the Workprocess will not longer have an Handle on this SHM.

If the process explorer did not longer show any handls on SHM_99_1002,

delete the file coll.put in the \sap\prfclog\ Folder, because this file holdes an Memory Dump of the old saposcol.

Now, put the new Version in the /exe/ Folder, and start the saposcol with -d. Then use "force". Compare the running Version with the dialog with command "stat".

Kind Regards

Manuel

edit

Additional Info,

i think it is possible to use a newer saposcol, like the 7.10 7.11 or 7.20. because they are downwards compatible.

Do not longer use the saposcol which has the same Version as your Kernel.

We are on 4.7 with 6.40 Kernel and using saposcol 7.20.

Edited by: Manuel Herr on Dec 28, 2010 1:36 PM

Former Member
0 Kudos

Hi Satya,

Check if [THIS|http://www.saptechies.com/os-collector-saposcol/] will help you.

I think Question No.7 will be fit for you.

Check and revert the status.

Regards,

Gagan Deep Kaushal

Former Member
0 Kudos

Hi Gagan,

We are into windows environment.

ipcrm -m ID is unix command.

Regards

Satya

Edited by: Satyanarayana Buddarapu on Apr 19, 2010 6:52 AM

Former Member
0 Kudos

Hi, Windows 2003 cluser environment. 4.6c , are this 32 bit or 64 bit ?

If you reboot whole windows server your problem will go on ....

Regards.

Former Member
0 Kudos

Hi Sergo,

We have 64 bit.

Regards

Satya

Former Member
0 Kudos

Hi,

Just remove "/usr/sap/tmp/coll.put" file and reboot complete system (operating system).

Then it will work...

Regards.

Rajesh Narkhede

Former Member
0 Kudos

Are you trying to reboot server?

Former Member
0 Kudos

Hi Sergo,

No, but I restarted the SAP, DB and SAPOSCOL. SAPOSCOL is up and running but there is waring mmessage in log file as

02:27:11 19.04.2010 LOG: ====================================================================================

02:27:11 19.04.2010 LOG: = OS Collector Start

02:27:11 19.04.2010 LOG: ====================================================================================

02:27:11 19.04.2010 LOG: Starting C:\WINDOWS\SapCluster\SAPOSCOL.EXE

02:27:11 19.04.2010 LOG: Saposcol Version is [COLL 20.79 03/08/22 46D - 20.46 NT 04/08/01]

02:27:11 19.04.2010 LOG: Allocate Counter Buffer [10000 Bytes]

02:27:11 19.04.2010 LOG: Allocate Instance Buffer [10000 Bytes]

02:27:11 19.04.2010 LOG: You can ignore :"Index of Title:[Disk Queue Length] not found" on Windows NT 4.0

02:27:11 19.04.2010 LOG: You can ignore :"Index of Title:[Disk Queue Length] not found" on Windows NT 4.0

02:27:11 19.04.2010 LOG: You can ignore :"Index of Title:[Disk Queue Length] not found" on Windows NT 4.0

02:27:11 19.04.2010 LOG: You can ignore :"Index of Title:[Disk Queue Length] not found" on Windows NT 4.0

02:27:11 19.04.2010 LOG: You can ignore :"Index of Title:[Disk Queue Length] not found" on Windows NT 4.0

02:27:11 19.04.2010 LOG: You can ignore :"Index of Title:[Disk Queue Length] not found" on Windows NT 4.0

02:27:11 19.04.2010 LOG: INFO: saposcol's shared memory size is 86420.

02:27:11 19.04.2010 LOG: Connected to existing shared memory !

02:27:11 19.04.2010 LOG: MaxRecords = 637 <> RecordCnt + Dta_offset = 751 + 61

02:27:16 19.04.2010 WARNING: WaitFree: could not set new shared memory status after 5 sec

02:27:16 19.04.2010 WARNING: Cannot create Shared Memory

When I trying to stop the SAPOSCOL service. I got the message saying that

" Could not stop the SAPOSCOL service on Local Computer.

Error 1053: The service did not respond to the start or control request in a timely fashion."

and it stopped the SAPOSCOL.

Then I am able to start SAPOSCOL.

The strange thing is in my environment, there are OS 10 drives but now I can see only 3 drives c, p and q.

Regards

Satya

Former Member
0 Kudos

Why you are not reboot the whole server, if you restart everything (OS DB), shared memory can't be controled on windows server, only reboot can help's if it's really shared memory problems ...

P.S. you have old saposcol also --> Note 19227 - Open newest saposcol

Regards.

Former Member
0 Kudos

Hello

Please make sure that the number of disks being monitored is not too much.

Please have a look at SAP note 498112 for this.

Also see note 1096181. The SAPService<SID> is no longer the

local administrator as of release 700.

Change the logon user for the SAPOSCOL service to <sid>adm

and after this stop the system and stop SAPOSCOL and delete the

<root>\usr\sap\PRFCLOG\coll.put file and restart the OS.

This is required as the existing shared memory segment is created by

an other userid SAPService<sid> and as a result the <sid>adm user is

no longer able to reinitialize the shared memory segment.

Regards.

Edited by: Kenneth Maguire on Apr 16, 2010 11:53 AM