ABAP programs (standard SAP and custom) use the shared memory objects technology.
Questions that will be answered in this blog are:
- How to set the shared objects memory size?
- How to monitor usage of shared objects memory?
Monitoring shared objects
Shared objects can be monitored with transaction SHMM:
In the start screen you can see the objects now loaded and how much memory they consume. In the start screen you can also delete and invalidate the shared memory objects.
The deletion can lead to short dumps. Only use this in emergency cases and when you are really sure
In the second tab you can see the total memory overview:
Setting shared memory objects memory size
In RZ11 with system parameter abap/shared_objects_size_MB you can set the shared object size in MB. A restart of the system is required to activate any change.
Older documentation says 500 or 1000 MB is sufficient. In newer systems a value of 3000 to 5000 in not uncommon.
Useful OSS notes
Note on memory consumption: 1322182 – Memory consumption of ABAP Shared Objects.
Dump with shortage of shared objects memory: 972757 – Occurence of the SYSTEM_NO_SHM_MEMORY runtime error.
Guided answer note: 2474021 – [Best Practice] How to solve SYSTEM_NO_SHM_MEMORY runtime error – Guided Answer