Removing Shared Memory Segments on Solaris
If you have an application that uses shared memory and crashes without cleaning up the shared memory, then releasing the shared memory can be painful. There are two commands you need to know to clean the shared memory ipcs and ipcrm. (These examples are on Solaris 9.)
Use the ipcs command to identify shared memory ID's and and semaphores that need freeing. Once you identify the ones that need removing you can use the ipcrm command to remove them.
The trick of course is being able to identify what memory or semaphores (or message queues) that were in use by your application. Hopefully you can do that by user ID. If all else fails you might have to reboot the server.
Use the ipcs command to identify shared memory ID's and and semaphores that need freeing. Once you identify the ones that need removing you can use the ipcrm command to remove them.
ipcrm -m
for the share memory. ipcrm -s
for the semaphores. The trick of course is being able to identify what memory or semaphores (or message queues) that were in use by your application. Hopefully you can do that by user ID. If all else fails you might have to reboot the server.