The SAPOSCOL shared memory segment is created in the system number 99 area and on UNIX systems the related IPC object can be reported by using the SAP OS command ‘showipc 99’. Always check the dev_coll file to see if enough shared memory is allocated.
On Windows platforms SAPOSCOL is started as a windows service (note 436186). On UNIX platforms SAPOSCOL is started by the startsap script but it is not stopped by the stopsap script because it could be that there is more than one SAP system running on the same server.
If the SAPHOSTAGENT is installed on a server then SAPOSCOL is started by the program saphostexec (note 1064968).
When the SAPOSCOL process is stopped it will also try to remove the shared memory segment. Unfortunately this is not always possible,
to delete the shared memory segment manually you can use on UNIX systems the SAP OS command ‘cleanipc 99 remove’ (this will
remove all the ipc objects for the system number 99, also for the SAPCCMSR agent) and on Windows systems you can try to start SAPOSCOL in dialog mode by using the command syntax ‘saposcol –d’ and execute the command ‘leave’.
Step by step cleaninig the SHM:
– Stop the old SAPOSCOL process
– If there are SAPCCMSR or SAPCCM4X agents running on the same server it is also better to stop these processes too.
– Check if the shared memory segment is correctly removed (On UNIX systems you can use the OS command
‘cleanipc 99 remove’
for Windows : “download Process Monitor from www.sysinternals.com, start it in elevated mode, search for a DLL or Handle Substring (spy glass symbol) SAP_SYSTEM_SHM_99.
The result list of the search will show you the processes having the SHM Segment opened. Stopp them, after that the shared memory segment is deleted.”)
– Delete the coll.put file which is stored in the SAPOSCOL working directory
– Install the new SAPOSCOL executable in the correct executable directory
– Start SAPOSCOL (and the CCMS agents) again.
– After this always check the dev_coll file to see if the new collector process also did recreate the shared memory segment again.
“On Windows Shared Memory is deleted automatically no process has the shared memory segment mapped.
So stopping all processes which do have attached the Shared Memory Segment is sufficient.
If saposcol share memory segment is still mapped even though saposcol has be stopped, then starting saposcol in dialog mode won’t help.” /Thanks for Peter Simon/
Then a sure method to delete the existing shared memory segment is a restart of the Windows OS.
By default the SAPOSCOL collector process will try to collect new OS snapshots and store this date in the shared memory segment every 10 second.
For this the shared memory segment status needs to be set and if another process is connected to the SAPOSCOL shared memory segment
this is not possible and because of this the collector interval will be skipped.
How to analyse the missing performace data situation and how to check SAPOsCol issues
Known:Warnings and error messages of dev_coll and possible problems with SAPOSCOL