Showing posts with label Profile Parameters of Memory Management. Show all posts
Showing posts with label Profile Parameters of Memory Management. Show all posts

es/disclaim_threshold_MB

Use

This parameter is used to control the release of SAP Extended Memory for the operating system.

For more information see Release of SAP Memory for the Operating System.

Features

This parameter determines the threshold value in MB. If memory blocks are requested above this threshold, for instance when there is a high load, these blocks are released for the operating system at the same time as they are released for the SAP system.

A value of 0 means that this parameter is inactive. This is also the default setting.

em/stat_log_size_MB: Statistics - User Context Size

Use

In the SAP memory management system, if the sizes of user contexts exceed the specified value, they are collected for statistical purposes.

The data is then written at regular intervals to a file. The interval frequency is determined by the parameter em/stat_log_timeout.

The default value of 20MB should not normally be changed.

ztta/roll_area: Roll Area

Use

This parameter is used to specify the total size of the roll area, in bytes.

The following graphic shows the parameter’s relationship to the initial allocation of roll memory (ztta/roll_first).

This graphic is explained in the accompanying text

A part of this area (in the graphic, roll area 1) is allocated a user context at the beginning. Its size is defined in ztta/roll_first. The partial area is for the data that must be contained in the roll area. When a user context is changed, this data is “rolled” (copied) into and out of a work process. If ztta/roll_area is larger than ztta/roll_first, the additional space makes a second part available (roll area 2).

If the user context cannot be allocated more extended memory, this second part of the roll area is available for the dialog processes (see Allocating Memory for User Contexts).

Integration

By specifying a higher value for ztta/roll_area than for ztta/roll_first, you avoid allocating local private memory as soon as the set limits of the SAP extended memory are reached. The remaining roll memory therefore serves as the last buffer before a user context has to allocate heap memory.

This pushes back the point in time at which a work process is switched to PRIV mode (see Private Memory). Although there are advantages with this procedure, there are also some disadvantages: The copying procedure is much slower for storing data in the roll area for changing work process contexts. The copy procedure necessary for the roll area with context changes is slower than the allocation procedure used for context changes with SAP extended memory. Therefore, increasing the roll area memory slows down the context change.

Activities

The roll area is not important with 64 bit platforms where sufficient extended memory is available. The default value is platform-specific and is determined dynamically. The default value is specified in transaction RZ11. This value should not normally be changed.

If you still have to make changes on your platform, keep in mind the following dependencies:


· rdisp/ROLL_SHM should be adjusted if you change ztta/roll_area.

· rdisp/ROLL_MAXFS must be adjusted if you change ztta/roll_area.

· ztta/roll_area must be larger than, or the same size as ztta/roll_first.

Leaving content frame

rdisp/ROLL_MAXFS: Maximum Roll File Size

Use

This value specifies the size of the roll file in 8 KB blocks. The roll file functions as memory for the portion of the user contexts that finds space in the Roll Area.

Integration

The roll buffer is used to buffer accesses to the roll file. The buffer size is determined by the rdisp/ROLL_SHM parameter.

Activities

The default value is platform-specific and is determined dynamically. This is the default value specified in transaction RZ11. This value should not normally be changed.

Problems should not occur even if the buffer size is large.


Space must be available in the file system.

rdisp/ROLL_SHM: Roll Buffer Size

Use

This value specifies the size of the roll buffer in 8 KB blocks.

The roll buffer functions as the cache for the roll file. For a fast change of context to occur, the roll areas of all user contexts should find space in the roll buffer (approximately 1 MB for each user). Buffered data is in the shared memory; accessing this data here is much faster than accessing a file.

Activities

The default value is platform-specific and is determined dynamically. This is the default value specified in transaction RZ11. This value should not normally be changed.

em/initial_size_MB: Extended Memory Pool Size

Use

This value specifies the extended memory pool size that the SAP system manages for the SAP Extended Memory.

The value is stated in megabytes.

Integration

Ideally, this pool is large enough to contain the sum of all the user contexts. The pool must always be larger than the size of the parameter ztta/roll_extension. This parameter specifies how much extended memory can be allocated from the pool to one user context.

If the pool is used up, heap memory is allocated (see Private Memory and Allocating Memory for User Contexts). The work process switches to the PRIV mode and is reserved exclusively for the current user context. After processing the user context, the work process might restart automatically if the process size specified in abap/heaplimit is exceeded.

Activities

The default value is platform-specific and is determined dynamically. The default value is specified in transaction RZ11. This value should not normally be changed.

The value must be between 32 and 8096.

Kep in mind the following notes about the pool size:


Ensure that the pool is 10 to 15 times as big as ztta/roll_extension. The exact value depends on the available swap space and the number of users in the host system.


The swap space must be sized so that it can contain the SAP extended memory and has enough space for the SAP usage of heap memory (see Swap Space Requirements). There must also be enough space available for competing system users outside of the SAP system. The swap space must also be large enough to ensure a safety reserve.

Leaving content frame

abap/heap_area_total: Total Quota for Heap Memory

Use

This parameter determines the upper limit of heap memory in bytes available to all work processes of an SAP application server. You can use this upper limit to restrict the swap space usage of an SAP application server to a specific amount. You can find more details on this topic under Functionality of the SAP Memory Management System.

Integration

The graphic below shows the relationship with the parameters abap/heap_area_dia, abap/heap_area_nondia, and ztta/roll_extension.

This graphic is explained in the accompanying text

Activities

The value is specified in bytes.

The default value is platform-specific and is determined dynamically. The default value is specified in transaction RZ11. This value should not normally be changed.


This value ensures that even at maximum swap space usage of the SAP system and during normal operation, at least 100 MB swap space (or approximately 10-15%) remains free. See also Swap Space Requirements.

Leaving content frame

abap/heap_area_nondia: Heap Memory Limit for Non-Dialog Work Processes

Use

This parameter restricts the amount of heap memory (Private Memory) that an SAP non-dialog work process can allocate. This value refers to spool, update, and background processes. This value ensures that enough swap space is available in the system.


Local memory is hardly needed any more with modern 64 bit platforms, as the memory requirement can be satisfied by the SAP Extended Memory.

Integration

The graphic below shows the relationship with abap/heaplimit.

This graphic is explained in the accompanying text

If the value of abap/heaplimit has been reached, the work process is restarted after the dialog step has ended. If the consumption of heap memory exceeds the quota abap/heaparea_(non)dia, the user context being executed at this time is cancelled before it can be completed.

You can use this quota to prevent one single non-dialog work process (user context) from filling the entire heap memory of the application server.

The work processes of an application server can allocate only so much heap memory as specified in parameter abap/heap_area_total. The limit specified in the parameter refers to the combined heap memory usage of all work processes for an application server.

Activities

The value is specified in bytes.

The default value is platform-specific and is determined dynamically. The default value is specified in transaction RZ11. This value should not normally be changed.


The value should be high enough for the largest possible background processing context in your SAP system. If the value is too small, SAP Extended Memory is assigned to the background process. This extended memory is not available for dialog work processes. See Allocating Memory for User Contexts.

.

Leaving content frame

abap/heap_area_dia: Heap Memory Limit for Dialog Work Processes

Use

This quota restricts the amount of heap memory (Private Memory) that an SAP dialog work process can allocate. This ensures that there is enough swap space available.


Heap memory is hardly needed any more with modern 64 bit platforms, as the memory requirement can be satisfied by the SAP Extended Memory.

Integration

The graphic below shows the relationship with abap/heaplimit.

This graphic is explained in the accompanying text

If the value of abap/heaplimit has been reached, the work process is restarted after the dialog step has ended. If the consumption of heap memory exceeds the quota abap/heaparea_(non)dia, the user context being executed at this time is cancelled before it can be completed.

You can use this quota to prevent one single dialog work process (user context) from filling the entire heap memory of the application server.

The work processes of an application server can allocate only so much heap memory as specified in parameter abap/heap_area_total. The limit specified in the parameter refers to the combined heap memory usage of all work processes for an application server.

Activities

The value is specified in bytes.

The default value is platform-specific and is determined dynamically. This is the default value specified in transaction RZ11. This value should not normally be changed.


Ensure that the value is high enough to fulfill all the regular memory requirements, but is not so high that the work process could reach the swap space limit of the operating system. See the graphic in abap/heaplimit: Work Process Restart

Leaving content frame

ztta/roll_extension_nondia: EM Quota for Non-Dialog Work Processes

Use

This parameter specifies the maximum SAP Extended Memory that can be used for non-dialog work processes.

Integration

Previously, both non-dialog processes (BTC, UPD, UP2, SPO, etc.) and dialog processes were handled the same regarding the allocation of extended memory. You could not allocate separate EM quotas for dialog users and batch users. The quota was determined by ztta/roll_extension and was valid for all work process types.

Only the heap memory had a separate quota (compare abap/heap_area_dia and abap/heap_area_nondia).

To ensure compatibility with the earlier implementation, the following rules apply:

· If ztta/roll_extension_dia or ztta/roll_extension_nondia are not set (DEFAULT.PFL or instance profile), the value in ztta/roll_extension (old procedure) applies for ALL work process types.

· If, on the other hand, ztta/roll_extension_(non)dia is set, the value in ztta/roll_extension is overwritten for the work process type in question.

Activities

The value is specified in bytes.

The minimum is 20000000 (20 MB); the maximum is 64000000000 (64GB, for 64 bit platforms).

The default setting is the value of ztta/roll_extension.


This allows you to allocate more extended memory for memory-intensive batch work processes than for dialog work processes.


On HP-UX you should set the parameter to assign as little extended memory as possible to batch processes that have a lot of context changes (local updates, etc). Performance is better if you use heap memory here.

Leaving content frame

ztta/roll_extension_dia: EM Quota for Dialog Processes

Use

This parameter specifies the maximum SAP Extended Memory that can be used for dialog work processes.

Integration

Earlier, both non-dialog processes (BTC, UPD, UP2, SPO, etc.) and dialog processes were handled the same regarding the allocation of extended memory. You could not allocate separate EM quotas to dialog users and batch users. The quota was determined by ztta/roll_extension and was valid for all work process types.

Only the heap memory had a separate quota (compare abap/heap_area_dia and abap/heap_area_nondia).

To ensure compatibility with the earlier implementation, the following rules apply:

· If ztta/roll_extension_dia or ztta/roll_extension_nondia are not set (DEFAULT.PFL or instance profile), the value in ztta/roll_extension (old procedure) applies for ALL work process types.

· If, on the other hand, ztta/roll_extension_(non)dia is set, the value in ztta/roll_extension is overwritten for the work process type in question.

Activities

The value is specified in bytes.

The minimum is 20000000 (20 MB); the maximum is 64000000000 (64GB, for 64 bit platforms).

The default setting is the value of ztta/roll_extension.

Leaving content frame

ztta/roll_extension: Extended Memory Limit

The value specifies the amount of memory that one user context can allocate to the SAP extended memory. This value is valid for all types of work processes.

You can also control the quotas for dialog and non-dialog work processes separately. To do this use parameters ztta/roll_extension_dia and ztta/roll_extension_nondia. For example, you can give a larger proportion of extended memory to batch processes than to dialog work processes.

Integration

The EM quotas for work processes must not be more than the total amount of extended memory. The total size of the extended memory is specified in the em/initial_size_MB parameter.

Using the CCMS alert monitor (transaction RZ20), you can determine how much extended memory your servers use. The peak value displays the “high water mark” (maximum allocation) for extended memory.

Features

The parameter determines how much SAP Extended Memory a User Context can allocate.

The graphic below shows this relationship:

This graphic is explained in the accompanying text

If the value is exceeded, heap memory is allocated. The work process is assigned only to this user context and is no longer available for other user contexts, since it is switched to the PRIV mode (in the Work Process Monitor, transaction SM50).

If the value is set too high, caused by a large user context, an extended memory bottleneck can occur. If a large user context fills the SAP extended memory, it can switch other smaller work processes used for user contexts into PRIV mode before their SAP extended memory limit has been used up.

Activities

The default value is platform-specific and is determined dynamically. The default value is specified in transaction RZ11. This value should not normally be changed.


If you have problems with the default value, SAP recommends that you test your system with a high value (at least 500 MB). If the PRIV mode is switched on prematurely, you can decrease the size.

To minimize the number of dialog work processes in the PRIV mode, keep in mind the following tips:


· em/initial_size_MB: should be significantly larger than ztta/roll_extension.

· rdisp/ROLL_SHM, rdisp/ROLL_MAXFS: If you increase the value of ztta/roll_area, you must adjust these parameters.

Leaving content frame

abap/heaplimit: Work Process Restart

This value specifies the memory amount in bytes. When this amount is exceeded, a work process is restarted after executing a dialog step.

Integration

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.

This graphic is explained in the accompanying text

Features

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.

Activities

To determine how many work processes are restarted, use the Computing Center Management System (CCMS) (transaction RZ20).

Profile Parameters of Memory Management

Use

Profile parameters enable you to set up your memory management system to get maximum benefit from it. By setting the parameters correctly, you can adjust memory management exactly to your resources and requirements.

Integration

The default parameter settings usually ensure the smooth operation of your memory management system. Monitoring the Memory Management System enables you to uncover possible weak spots.

This section explains what each parameter does. The different settings for each platform are described in the Platform-Specific Description of Memory Management.

Features

The parameters govern how the memory management system behaves and restrict it so that it does not exceed operating system or hardware limitations. Certain parameters may restrict individual work processes, and quotas may limit resources used by all work processes, for example, the extended memory. There are also parameters that are used for configuring the memory management statistics.

Controlling Memory Management

abap/heaplimit: Work Process Restart

Memory Management Resources for One Work Process

ztta/roll_extension: Limit for Extended Memory

ztta/roll_extension_dia: EM Quota for Dialog Work Processes

ztta/roll_extension_nondia: EM Quota for Non-Dialog Work Processes

abap/heap_area_dia: Heap Memory Limit for Dialog Work Processes

abap/heap_area_nondia: Heap Memory Limit for Non-Dialog Work Processes

abap/heap_area_total: Total Quota for Heap Memory

ztta/roll_area: Roll Area

ztta/roll_first: Size of the Initial Allocation from the Roll Area

Memory Management Limitations

abap/heap_area_total: Heap Memory Limit

em/initial_size_MB: Extended Memory Pool Size

rdisp/ROLL_SHM: Roll Buffer Size

rdisp/ROLL_MAXFS: Maximum Roll File Size

rdisp/PG_SHM: Size of the Paging Buffer

rdisp/PG_MAXFS: Maximum Size of SAP Paging File

em/blocksize_KB: Segment Size for the Extended Memory

Memory Management Statistics

em/stat_log_size_MB: Statistics - User Context Size

em/stat_log_timeout: Statistics - User Context Size

Parameters for controlling the Release of SAP Memory for the Operating System

es/disclaim_threshold_MB

es/disclaim_coasting_time_alloc

es/disclaim_coasting_time_free

es/blockdisclaimsize_KB

es/freelist_compactor

Leaving content frame