Powered By

Free XML Skins for Blogger

Powered by Blogger

Showing posts with label SAP Profile Parameters. Show all posts
Showing posts with label SAP Profile Parameters. Show all posts

Thursday, February 5, 2009

abap/heaplimit: Work Process Restart

Use

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, it still remains reserved by the process (compared to the operating system), and is only available for other processes if the process itself has ended.

The following chart illustrates this situation using the example of a dialog work process.

Goal:

As few restarts of work processes as possible, but swap space bottlenecks may not occur. The local memory allocated by the work processes has to be released again.

As depicted 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 CCMS (transaction RZ03). Note that the column Err in the work process display (transaction SM50) does not refer to work processes that are restarted.

Activities

Unit: Bytes

Default value: 40000000 (40 MB)

Recommended value: 20000000 (20 MB); recommended area: 10000000... 50000000 (10 MB... 50 MB)

You can get the values from the configuration examples (Contents button).

Changes: The customer can make changes.

ztta/roll_extension: Extended Memory Limit

Use

The value specifies the amount of memory that one user context can allocate to the R/3 Extended Memory. Valid for all types of work processes.




The value refers to the R/3 Extended Memory that a user context allocates. If the value entered is exceeded, heap memory is allocated. The work process is assigned exclusively 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 SM51). See: Private Memory

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 R/3 Extended Memory, other smaller user contexts could thereby switch work processes into PRIV mode before their R/3 Extended Memory limit has been used up.

SAP recommends that you test your system using the high default value (250 MB). If the PRIV mode is switched on prematurely, you can decrease the size to the recommended value.

Under IBM AIX and Siemens-Nixdorf SINIX, you can use parameter ztta/roll_extension to balance the effects of the relatively low values that you can set for abap/heap_area_nondia (see abap/heap_area_nondia: Heap Memory Limit for Non-Dialog Work Processes and Data Segment Sizes (UNIX)). On these platforms, the relatively small values for the maximum data segment size limit the heap memory available for background job processing.

In order for the background processing to have at least 500 MB memory allocated to it, SAP recommends setting the parameter ztta/roll_extension to the values listed below. Set these values only on the servers that are used primarily for background processing. Otherwise, the R/3 Extended Memory may be filled by just a few work processes and the PRIV mode will be switched on prematurely (see Recognizing and Correcting Problems).

  • AIX values for background processing: > 300 MB
  • SINIX values for background processing: > 200 MB

In order for the active processes to be executed, you must increase the value for em/initial_size_MB: Extended Memory Size. You can determine the amount of Extended Memory your servers allocates by using Transaction RZ03 (see Overview of All Application Servers). The peak value displays the "high water mark" (maximum allocation) for Extended Memory.

Under AS/400, you can increase the value as needed to enable the processes to use more Extended Memory.

Goal:

Minimize the number of dialog work processes in the PRIV mode.

Integration

  • em/initial_size_MB: should be significantly larger than ztta/roll_extension.
  • ztta/roll_area: a higher value saves on R/3 Extended Memory.
  • rdisp/ROLL_SHM, rdisp/ROLL_MAXFS: If you increase the value of ztta/roll_area, you must adjust these parameters

Activities

Unit: Bytes

Default value: 250000000 (250 MB)

20971520 (20 MB) under AS/400

Recommended value: 500000000 (500 MB)

Changes: Customers can make changes. You can find the values from the configuration examples (Contents button).

sap abap/heap_area_dia: Heap Memory Limit for Dialog Work Processes

Use

Set the limit for the heap memory ( Private Memory) that an R/3 dialog work process can allocate. This ensures that enough swap space is available.

If the value is exceeded, the user context that was just executed is terminated prematurely.

In IBM AIX systems, specify a value for this parameter smaller than 200 MB, since the shared memory areas under AIX have a limited size. A higher value has no advantages and no effects.

Goal:

Prevent a single dialog work process (user context) from filling up the entire heap memory of the application server.

A work process from 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.

Ensure that the value is high enough to fulfill all the regular memory requirements, but is not so high that the work process runs up against the swap space limit of the operating system. See the graphic in Abap/Heaplimit: Work Process Restart.

Activities

Unit: Bytes

Default value: 80000000 (80 MB)

Recommended value: 2 GB, if the operating system does not set a lower limit. You can find values in the configuration examples (Content button).

Changes: Customers can make changes.

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

Use

This parameter sets the limit for the heap memory (heap memory) that an R/3 non-dialog work process can allocate. This value refers to spool, update, and background processes. This value ensures that there is enough swap space available in the system.

In IBM AIX systems, specify a value for this parameter smaller than 200 MB, since the shared memory areas under AIX have a limited size. For Siemens-Nixdorf SINIX, 350 MB is the maximum that you can specify. A higher value has no advantages and no effects.

Goal:

Prevent a single non-dialog work process (user context) from filling up 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.

The value should be high enough for the largest possible background processing context in your R/3 System. If the value is too small, the background process is allocated R/3 Extended Memory. This Extended Memory is not available for dialog work processes.

The default value is generously sized and does not usually have to be increased.

Activities

Unit: Bytes

Default value: 40000000 (40 MB)

Recommended value For the following platforms:

  • IBM AIX: 190000000 (190 mil. bytes)
  • Siemens-Nixdorf SINIX: 350000000 (350 mil. bytes)
  • HP-UX: 600000000 (600 mil. bytes)
  • Other platforms: 900000000 (900 mil. bytes)

You can find the values from the configuration examples (Contents button). You can find additional restrictions under Data Segment Size (UNIX).

Changes: Customers can make changes.

abap/heap_area_total: Heap Memory Limit

Use

This sets the upper limit for the heap memory that all work processes of an R/3 application server can allocate. You can use this upper limit to restrict the swap space usage of an R/3 application server to a specific amount. You can find more details on this topic under Functions of the R/3 Memory Management System.

Goal:

This value ensures that even at maximum swap space usage of the R/3 System and during normal operation, at least 100 MB swap space (or approximately 10-15%) remains free.

Integration

  • Swap space size in the system. In addition to the system and R/3 requirements, another swap space reserve of at least 100 MB should be available. You can find more details on this topic under
  • Swap Space Requirements and Functions of the R/3 Memory Management System.
  • R/3 Extended Memory pool size (parameter em/initial_size_MB). The swap space size that an R/3 server can fill orients itself primarily according to the R/3 Extended Memory pool and the value of this parameter.

Activities

Unit: Bytes

Default value: 800000000 (800 MB)

Recommended value: A general value cannot be specified here. The deciding factor for the setting is the available swap space. You must set the parameter to the following value:

  • physical memory + swap space - allocated virtual memory

You can monitor physical memory and swap space using Transaction ST06 (see Checking Unused Working Memory using Transaction ST06) Allocated virtual memory consists of allocated memory from:

  • All R/3 instances
  • Database buffers and database processes
  • Operating system, special file system cache

You can view this using Transaction ST02 ® Detail Analysis Menu ® Storage.

You can find the values from the configuration examples (Contents button): Setting Up the Memory Management System

Changes: Customers can make changes.

em/initial_size_MB: Extended Memory Pool Size

Use

This value specifies the Extended Memory pool size that the R/3 System manages for the Extended Memory.

Goal:

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 to a 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 may be restarted automatically, if the process size specified in abap/heaplimit was exceeded.

Basic rules: Ensure that the pool is 10 to 15 times as larger as ztta/roll_extension; The exact value is oriented according to the available swap space and the number of users in the host system.

Integration

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

Activities

Unit: 1 MB

Default value: 128 MB

Recommended value: 200 to 500 MB, approximately 5 MB for each R/3 user (pay attention to operating system dependencies)

You can find the values from the configuration examples (Contents button). You can find more information on Windows NT under Setting Dimensions for Sufficient Extended Memory.

Changes: Customers can make changes.

em/address_space_MB: For a user context reserved memory - Windows NT

Use

This parameter reserves a memory area for user contexts in the address space of an R/3 work process. (Only valid on Windows NT.)

The parameter serves to make a memory area with a standardized address and size available in each work process for user contexts. The parameter value determines the address and size of the memory area (the memory area is reserved when the process is initialized).

Activities

Unit: 1 MB

Default value: 512 MB

Recommended value: 512 MB

Value range: 128 - 1500 MB

Changes: Customers can change the parameter. Generally, the default value is the correct value.

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).

Goal:

Minimum time for a context change

Integration

rdisp/ROLL_SHM : Buffered data is in the shared memory; accessing this data here is much faster than accessing a file.

For technical reasons, the roll buffer size must be at least 10% of the roll file size (parameter rdisp/ROLL_MAXFS: Maximum roll file size).

Activities

Unit: 8 KB

Default value: 0

Recommended value: UNIX: 8000, IBM AS/400: 0, under Microsoft Windows NT 128 blocks (1 MB)

Unless the Tune summary in the CCMS (Transaction ST02) (under Monitoring the Memory Management System) specifies that a larger roll buffer is required, do not set a value larger than 12500 (100 MB).

Absolute upper limit: 250000 blocks (2 GB) for special applications (file system must be large enough)

You can find the values in the configuration examples (Contents button). For more information on Windows NT, see Parameter Overview for Windows NT.

Changes: The customer can make changes.

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 part of the user contexts that finds space in the roll area.

Goal:

Space must be sufficient; problems should not occur even if the dimensions are too large.

Integration

  • On the roll area: See
  • ztta/roll_area: Roll Area.
  • The parameter should not be smaller than
  • rdisp/ROLL_SHM: Roll Buffer Size.
  • Space must be available in the file system.

Activities

Unit: 8 KB

Default value: 2.000; Under IBM AS/400: 0

Recommended values: Various values, depending on the server size If enough memory is available, under UNIX 64000 blocks.

  • Under IBM AS/400: 0
  • Under Windows NT: Same value as
  • rdisp/ROLL_SHM

Absolute upper limit: 250000 blocks (2 GB) for special applications (file system must be large enough)

Also note the configuration examples (Contents button). For more information on Windows NT, see Parameter Overview for Windows NT.

Changes: The customer can make changes.

rdisp/PG_SHM: Paging Buffer Size

Use

This value specifies the size of the paging buffer in 8 KB blocks. Since Release 4.0, a paging buffer is no longer necessary for SAP Memory Management because internal tables and lists are not located in the R/3 paging.

Goal:

Value = 0, to save swap space

Activities

Unit: 8 KB

Default value: 0

Recommended value: UNIX: 1000, but the value depends on the server size and the host system. You can find the values in the configuration examples (Contents button). For more information on Windows NT, see Parameter Overview for Windows NT.

Absolute upper limit: 250000 blocks (2 GB) for special applications (file system must be large enough)

Changes: The customer can make changes.

rdisp/PG_MAXFS: Maximum Size of the R/3 Paging File

Use

This value specifies the size of the R/3 paging file in 8 KB blocks. The paging file functions as memory for extracts and exports to memory. See also: SAP Paging.

Goal:

Space must be sufficient; does not present a problem even if the dimensions are too large.

Integration

Space must be available in the file system.

Activities

Unit: 8 KB

Default value: 2048

Recommended value: UNIX: Optimally 32000, but the value depends on the server size. Under Microsoft Windows NT, it is the same size as rdisp/PG_SHM. Also note the configuration examples (Contents button). For more information on Windows NT, see Parameter Overview for Windows NT.

Absolute upper limit: 250000 blocks (2 GB) for special applications (file system must be large enough)

Changes: The customer can make changes.

ztta/roll_first: Initial Allocation Size from the Roll Area

Use

This is the amount of roll memory allocated to a dialog work process before R/3 Extended Memory is allocated.

See Allocating Memory for User Contexts

Activities

Unit: Bytes

Default value: 1000000 (1 MB)

Recommended value: 1 (1 byte)

Under IBM AS/400: 167731120 (16 MB, value from ztta/roll_area).

One (1) byte means that only one small amount of memory specifically for that system is allocated and then goes in to the Extended Memory. If there is not a lot of Extended Memory available, a higher value (1 MB or higher) is useful (see Recognizing and Correcting Problems).

Changes: Under IBM AS/400, only SAP is allowed to change this parameter. Under UNIX and Microsoft Windows, you can only change this parameter value in accordance with the configuration examples (Contents button) or for Windows NT in accordance with the information in Maximum Use of Extended Memory.

ztta/roll_area: Roll Area

Use

Total size of the roll area in bytes.

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. During a user context change, 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).

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 R/3 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 advantages to this procedure, there are also the following disadvantages: The copying procedure is much slower for storing data in the roll area for changing work process contexts. The copy necessary for the roll area during context changes is slower than the allocation procedure used for the context change with R/3 Extended Memory. Therefore, increasing the roll area memory slows down the context change.

Goal:

Reduce data transfer to a minimum using copy procedures during context changes (value closer to ztta/roll_first), higher values avoid problems however (address space, swap space, operating system paging, work process change to PRIV mode, if the R/3 Extended Memory limit is reached).

Integration

  • 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.

Activities

Unit: Bytes

Default value: 6500000 (6.5 MB)

Recommended value: UNIX: 6500000 (6.5 MB) 1000000 (1 MB) is the minimum size. Under IBM AS/400 167731120 (16 MB), under Windows NT: 1000000 (1 MB).

Changes: Under IBM AS/400, only SAP is allowed to change this value. Under UNIX and Microsoft Windows, you can only change this parameter value in accordance with the configuration examples (Contents button) or for Windows NT in accordance with the information in Maximum Use of Extended Memory.

em/blocksize_KB: Segment Size for the Extended Memory

Use

This value specifies the size of the segments that are assigned to the R/3 Extended Memory.

Only SAP is allowed to change this parameter.

Activities

Unit: 1 KB

Default value: 1024 (1 MB)

Recommended value: You may not change the default value.

em/stat_log_size_MB: Statistics - User Context Size

Use

In the SAP memory management system, the sizes of user contexts are gathered for statistical purposes if the size exceeds the specified value.

Only SAP is allowed to change this parameter.

em/stat_log_timeout: Statistics - User Context Size

Use

In the SAP memory management system, the sizes of user contexts are gathered for statistical purposes. This parameter specifies the cycle in which the sizes are logged.

Only SAP is allowed to change this parameter.

SAP Recognizing and Correcting Problems

If the aforementioned requirements are fulfilled, the memory management system should function without any problems.

However, if problems should occur, they are probably very serious. System performance will be noticeably reduced, enabling you to recognize the problem relatively easily.

Often, to solve the problem, you will have to increase the swap space, or change the size of the roll and paging buffers.

This is described in the following sections:


  • Changing the Size of the Roll and Paging Buffers (only UNIX / NT)

  • Preventing Swap Space Bottlenecks (only UNIX /NT)

Potential problems and their solutions are described in the following sections:


  • Insufficient Swap Space Already at System Startup

  • Start or Enqueue Problems or No Connection to Program SAPOSCOL under IBM AIX

  • Swap Space Bottlenecks During R/3 Operation

  • Background Jobs or Update Process Canceled due to Insufficient Swap Space

  • Background Processing Problems due to Segment Size Limitations, Especially in Operating System IBM AIX

  • Memory Allocation Problems under OSF/1 from DEC

  • Slow Response Times on the R/3 Application and Operating System Level

  • Slow Response Times for certain Users, Very Good Response Times for other Users

    Archives