This value specifies the memory amount in bytes. When this amount is exceeded, a work process is restarted after executing a dialog step.
In a work process, heap memory (malloc) can be allocated for a user context. See Allocating Memory for User Contexts and Private Memory. If a user context releases this memory again, as the operating system sees it, the memory still remains occupied by the process, and is only available for other processes once the process itself has ended.
The following chart illustrates this situation using the example of a dialog work process.
The value of the parameter should be between 10000000 (10 MB) and 2000000000 (2GB), the recommended default setting is 40000000 (40 MB).
The objective is to have the least number of work process restarts as possible, without a swap space bottleneck occurring. The heap memory allocated by the work processes has to be released again.
As shown in the graphic, the value of abap/heaplimit should be smaller than abap/heap_area_dia or abap/heap_area_nondia, so that the dialog step that is running can still be executed. This prevents the work process from working against the operating system’s swap space limit if there is a programmed termination of the work process.
To determine how many work processes are restarted, use the Computing Center Management System (CCMS) (transaction RZ20). Note that the column Err in the Work Process Overview (transaction SM50) does not refer to work processes that are restarted.