XCOM requires one shared memory segment and semaphore for its service.
Evaluate all applications installed in your server and how many shared memory segments and semaphores each of the applications require. Based on that you can define the best suitable value for "project.max-shm-ids" in your production environment.
- Each user will be assigned to projects that contain limits defined for that user such as max shared memory ids, max shared memory etc. To find non-root users that are assigned to default projects use command "id -p".
- Issue the command below to identify the value of maximum shared memory ids for default project to which non-root users are assigned to. prctl -n project.max-shm-ids -i project default
- Use this command to check number of shared memory segments running:
ipcs -m | grep ^m | wc -l
- Use this command to increase the number of shared memory segments value "project.max-shm-ids".
Remember that this value changes from project to project. Semaphores and shared memory segments consumed by each application depends on the project under which it is running i.e., based on the user who started the application.