Roll and Extended Memory
ztta/roll_first - This is the first area of memory assigned to a work process. This parameter is usually set to 1 as a technically necessity as the modern applications will end up using more memory than the first roll segment. Even if ztta/roll_first is set to 1, the minimum amount required for administrative data is allocated from roll memory. It is best to leave the parameter at 1.ztta/roll_extension
The so called Extended Memory is created either as as memory mapped file or as a huge chunk of shared memory (PHYSMEMSIZE parameter in the SAP instance profiles). The memory defined as Memory Mapped File or Shared Memory is not subtracted from the 'Available Memory' in the Windows Task Manager (see below) or the Windows Performance Counter. Hello, I understand from all SAP performance optimization guides etc that for non dialog work process the following is the memory allocation sequence 1.Roll memory 2.Heap Memory 3.Extended Memory. With the above sequence does it mean all non dialogue. Ztta/rollextension - Further memory allocation to the work process is done from Extended Memory, after first roll segment is used up. Ztta/rollextension parameter determines how much memory can be used by a user context in the extended memory. In other words, this is the limit of the SAP Extended Memory for each work process. Extended Memory + Free Space in VAS in the SAP work process Note that committed shared memory blocks and the extended memory block (EM) are shared between all virtual address spaces of all SAP work processes. Increasing SAP shared memory blocks by modifying the SAP memory parameters, or reducing the user. What are the SAP parameters used to define initial roll area, extended memory, heap memory, roll area? Memory allocation sequence to dialog work processes in SAP: Initially,a defined roll area is used.This roll area is defined by the SAP parameter ztta/rollfirst.
- Further memory allocation to the work process is done from Extended Memory, after first roll segment is used up. ztta/roll_extension parameter determines how much memory can be used by a user context in the extended memory. In other words, this is the limit of the SAP Extended Memory for each work process. This is true in most cases, however, ztta/roll_extension is Extended Memory limit for a single 'i-mode'. Depending on the number of i-modes, normally up to 6, the value of maximum extended memory can raise up to 6*ztta/roll_extension theoretically. ztta/roll_extension must be smaller than (4096 - ztta/max_memreq_MB) * 1024 * 1024 - 1. ztta/roll_extension_dia and ztta/roll_extension_nondia are now available to tune the allocation separately to dialog work process and non-dialog work processes. If the work processes are using extended memory above this limit, see if the selection criteria can be reduced. If that is not feasible, then look to increase this parameter after confirming that the work process has indeed exceeded this limit and not em/initial_size_MB.em/initial_size_MB - The extended memory is allocated when the SAP instance is started in accordance with the value of em/initial_size_MB. Each internal session can request extended memory up to a value of ztta/roll_extension in multiples of em/block_size_KB from the extended memory pool (em/initial_size_MB). When the SAP instance runs out of this memory, the work processes will start using heap memory causing them to go in to PRIV mode. Setting of em/initial_size_MB usually depends on the physical RAM on the server and if you have any other instances on that same server. Depending on available RAM this parameter can be set between 1024 MB and 1TB. em/initial_size_MB loses its significance if special memory handling eg ES/TABLE in AIX or es/implementation in Linux is activated.
Heap Memory
abap/heap_area_total - When a dialog work process consumes Roll and Extended Memory available to it, it continues the transaction execution from heap memory. abap/heap_area_total restricts the total amount of heap memory that all WPs can use. If you set this parameter to 0, it will translate to 1 TB. This value should be decided based on swap space available to the OS.
abap/heap_area_dia or abap/heap_area_nondia - These parameters restrict the amount of heap memory (Private Memory) that an SAP dialog work process or non-dialog work process can allocate respectively. TSV_TNEW_* or SYSTEM_NO_MEMORY errors indicate that this limit is reached. If you set these parameters to 0, the kernel will translate it to 1 TB. On a 64 bit system these three parameters (abap/heap_area_*) can be safely set to high values such as 6GB.
ztta/roll_area: Roll area size
Description: The value specifies the size of the roll area in bytes. The roll area is one of several memory areas, which satisfies the user requests of user programs. For technical reasons, however, the first 250 KB or so of a user context are always stored in the roll area, further data
- up to the roll area limit ztta/roll_first,
- in the extended memory, up to the limit ztta/roll_extension or If extended memory is exhausted, then
- again in the roll area, until the roll area is full, then
- in the local process area, up to the limit abap/heap_area_dia
or abap/heap_area_total or until the address space or the swap space is exhausted.
Followed by termination with errors like STORAGE_PARAMETERS_WRONG_SET an error code, that points to memory ottleneck
Aim:
Minimum data transfer with context change; however, the increase helps to avoid problems (address space, swap space, operating system paging)
Unit: Bytes
Dependencies:
rdisp/ROLL_SHM: Should be adjusted because of ztta/roll_area
rdisp/ROLL_MAXFS: Must be adjusted because of ztta/roll_area can be checked by ST02
ztta/hold_data_area: Buffer for User Set/Get Values
Size of the shared memory buffer for user Set/Get data
(System -> User defaults -> Get/Set).
Use: Tuning.
ztta/roll_extension: Short description: Quota for extended memory
Description:
This value specifies the storage quantity in bytes that a dialog user context can allocate (extended memory). The value refers to the storage quantity that an external mode (=SAP window) allocates. When the specified value is exceeded, memory from the roll area is allocated until this is full. Local memory is then allocated.
( Data in the roll area is copied at context change When local memory within the work process is allocated, the work process is assigned to this user context and is no longer available for other user contexts (PRIV mode).) If you set the value too high, a user could cause a bottleneck in the extended memory by increasing his user context. Other smaller user contexts would bring work processes to PRIV mode before their allowed quota is reached.
Objective: Minimize no. of work processes in PRIV mode. Allocate extended memory fairly.
ztta/roll_first :Quota for early allocation in the roll area
Parameter description :
The value specifies the amount of memory in bytes that is allocated from the roll area, before memory is allocated from the extended memory. This means that small user contexts remain complete in the roll area. Any wastage and therefore total consumption of the extended memory can be minimized, because extended memory is assigned to users in granules of a specific length (usually 1 MB).
Only effective in dialog work processes. (Windows NT) Effective in all work processes, due to identical allocation sequence (Windows NT).
Aim:
Sap Parameter Tcode
Optimum usage of the extended memory
ztta/short_area : Size of short-term memory
Parameter description :
Size of memory available in the short term, i.e. until the next 'rollout'
The value must be at least 7 times the size of ztta/cua_area
Work area: System
abap/heap_area_dia: Heap memory quota for dialog work processes
Sap Extended Memory (em) Parameter
Description:
Sap Extended Memory Parameter Tool
Defines the local process memory quota (heap, malloc) for a user context in a dialog work process. The aim is to avoid a swap space bottleneck if a user context becomes too large.