• No results found

Memory Management simplifications in ABAP Kernel 7.4*

N/A
N/A
Protected

Academic year: 2021

Share "Memory Management simplifications in ABAP Kernel 7.4*"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)
(2)

TABLE OF CONTENTS

OVERVIEW ... 3

NEW PARAMETER FORMULAS ... 3

TROUBLESHOOTING ... 4

512 GB LIMIT ... 5

(3)

Memory Management simplifications in ABAP Kernel 7.4*

OVERVIEW

This paper describes Memory Management parameterization changes in 7.4* kernel. The main goal of these changes was simplification: the administrator will be enabled by setting only one profile parameter PHYS_MEMSIZE to automatically initiate changes of dependent parameters. This is a fast way to scale the ABAP instance memory consumption. Within the context of this development the “old fashioned” Zero Admin MM for Linux and Windows

- was extended to all other operating systems and

- reimplemented via formula based parameters

More information about the Zero Administration in previous releases can be found in:

http://help.sap.com/saphelp_erp60_sp/helpdata/en/3c/05863c6800924fe10000000a114084/content.htm http://help.sap.com/saphelp_erp60_sp/helpdata/en/84/7ed384d81f11d188be0000e83539c3/content.htm

NEW PARAMETER FORMULAS

The formulas may depend on kernel release and operating system. You can get a list of parameters with formula based default values e.g. with help of sappfpar executable. Below is an example for kernel 7.41 PL22 on Linux:

Formulas support in the profiles is implemented as of kernel 7.40, described in:

http://help.sap.com/saphelp_nw74/helpdata/en/a7/d631e255594dc19899706a3a7c3fe8/content.htm?frames et=/en/51/319798cc7a428a896af0bc2a00adc7/frameset.htm

> sappfpar all | grep "SAP: ("

abap/buffersize = (ceil($(em/initial_size_MB)*1024*0.15/4096) * 4096)

abap/heap_area_total = (max($(PHYS_MEMSIZE)*1024*1024 * 0.1, $(abap/heap_area_dia) * 2 )) abap/programs = ($(abap/buffersize)/4)

abap/shared_objects_size_MB = (min(20000, $(em/initial_size_MB)*0.02))

em/blocksize_KB = (ceil($(em/initial_size_MB) * 1024 / 100000 / 4096) * 4096) em/global_area_MB = (min($(em/initial_size_MB) * 0.05, 32000))

em/initial_size_MB = (min(512000, $(PHYS_MEMSIZE) * 0.7)) em/max_size_MB = ($(em/initial_size_MB))

rdisp/PG_SHM = (max(min(1000+40*max(5,floor(($(PHYS_MEMSIZE)-128)*25/128)),16384),1024)) rdisp/max_websocket_connections = ( $(rdisp/tm_max_no) / 2 )

rdisp/wp_ca_blk_no = ($(rdisp/elem_per_queue)*3) rsdb/ntab/entrycount = ($(zcsa/db_max_buftab))

rsdb/ntab/ftabsize = (min(500000, ($(rsdb/ntab/entrycount)))) rsdb/ntab/irbdsize = ($(rsdb/ntab/ftabsize) * 0.2) rsdb/ntab/sntabsize = ($(rsdb/ntab/ftabsize) * 0.1) rsdb/obj/buffersize = (max(4096,$(PHYS_MEMSIZE)*1024 * 0.01)) rsdb/obj/max_objects = (max(2000,$(rsdb/obj/buffersize) / 4)) rsts/ccc/cache07 = ($(rsts/ccc/cachesize) * 0.1) rtbb/buffer_length = ($(zcsa/table_buffer_area) * 0.1 / 1024) rtbb/max_tables = ($(zcsa/db_max_buftab) * 0.1) zcsa/db_max_buftab = (max(20000,$(zcsa/table_buffer_area) / (5 * 1024) ))

zcsa/table_buffer_area = (min(3333333333, (max(30000000,($(em/initial_size_MB) * 1024 * 1024 * 0.1)))))

(4)

sappfpar can also be used for checking your profile:

In the example above the parameter abap/buffersize that has been set to a fix value although its default value is a formula, was found.

TROUBLESHOOTING

In this section we would like to analyze a “real life” example from an administrator’s point of view.

A system consisting of 2 ABAP instances is installed on a host with 64GB main memory. Every instance is running with PHYS_MEMSIZE=30% setting in profile. Customers experience sporadic memory lack issues

- Rabaxes

- “EmAlloc failed” errors in dev trace - Extended Memory Dump in dev trace

Examples for memory lack Rabaxes are: TSV_TNEW_PAGE_ALLOC, LOAD_NO_ROLL, STRING_LENGTH_TOO_LARGE, TSV_TNEW_BLOCKS_NO_ROLL_MEMORY

The administrator is analyzing Extended Memory Dumps in dev traces, they appear as shown below:

The administrator can’t identify any particular user which is using too much memory. This means that the server has been overloaded sporadically, i.e. at peak times when many users are working simultaneously.

>sappfpar pf=<ProfileName> check_formula

***WARNING: formula parameter: abap/buffersize = 350000 found in profile Errors detected...: 0

Warnings detected...: 1

... ...

Extended Memory Dump

Act. USER SUM IM0 IM1

_________________________________________________________________ SAP_SMDMON(T52_U5144_M0) [ 0.9] > 0.8< --- 0990FUSRABCD(T461_U4228_M0) [ 23.8] > 23.6< --- USER_TEST_12(T461_U4228_M0) [ 23.8] > 23.6< --- ... ...

(5)

Memory Management simplifications in ABAP Kernel 7.4*

Proposed solution: set PHYS_MEMSIZE=45% in the profile to allow every instance to use 64GB * 0.45 = 28,8GB

main memory. This will automatically increase the value of dependent parameters, e.g: PHYS_MEMSIZE=30% PHYS_MEMSIZE=45%

em/initial_size_MB 13653 (MB) 20480 (MB)

abap/heap_area_total 20452265165 (Byte) 30678397747 (Byte)

Keep in mind that the instance has to be restarted for activating its new values! PHYS_MEMSIZE can be also set to absolute values instead of percentage:

PHYS_MEMSIZE=40000

which would mean Megabytes in the Example above.

512 GB LIMIT FOR ALL OPERATING SYSTEMS

PHYS_MEMSIZE is not a “hard limit” for an ABAP instance. This is a guide value to make the instance aware about the amount of main memory it should use. This limit can be overrunned in heavy load scenarios.

Kernel 7.4* has been tested up to PHYS_MEMSIZE=512000 settings. It is not recommended to run a singular ABAP instance with more than 512000 MB.

Warnings in dev traces would give you a hint if you are trying to run an instance with more than that memory size, e.g.:

* WARNING=>DpCheckParams: invalid value for PHYS_MEMSIZE=600000 [dpInit.c]

* WARNING=>DpCheckParams: check message: Parameter value out of range (16...512000) [dpInit.c] It is recommended to use default memory management models on every OS:

es/implementation = std (Unix) es/implementation = view (Windows) ES/TABLE = UNIX_STD (Unix) ES/TABLE = SHM_SEGS (AIX only)

The memory management parameter formulas have been optimized for the memory model cases above. The only platform has been optimized not for default case only is OS/400 which has been tuned for both UNIX_STD and SHM_SEGS memory models.

CONCLUSION

Formula based parameters introduced in 7.4* and supported for all operating systems offer a new simplified way of administration for ABAP instances in an SAP system. They will be used in ABAP server memory management already.

(6)

© 2014 SAP AG. All rights reserved.

SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer, StreamWork, SAP HANA, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries.

Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects Software Ltd. Business Objects is an SAP company.

Sybase and Adaptive Server, iAnywhere, Sybase 365, SQL Anywhere, and other Sybase products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Sybase Inc. Sybase is an SAP company. Crossgate, m@gic EDDY, B2B 360°, and B2B 360° Services are registered trademarks of Crossgate AG in Germany and other countries. Crossgate is an SAP company.

References

Related documents

will become the property of CSE if the club defaults. Fundraising events are not subsidised by CSE Funding. If you are selling tickets to non members to raise money CSE will

As per sections 1 and 2 of CIHI’s Privacy Policy, 2010, CIHI collects from its data providers only that personal health information and de-identified data that is reasonably

Declaration of Trust including Forms: HUD-52190-A (Deve lopment Grant Projects, “Development DOT”); HUD-52190-B (Public Housing Modernization Grant Projects, “Mod DOT”);

This Article is brought to you for free and open access by the National Collegiate Honors Council at DigitalCommons@University of Nebraska - Lincoln.. It has been accepted for

Put 2 quarters on your right leg about 4 inches away from each other long ways Cover the coin farthest from you with the back of your left hand With your right hand, grab the other

Sybase and Adaptive Server, iAnywhere, Sybase 365, SQL Anywhere, and other Sybase products and services mentioned herein as well as their respective logos are trademarks or

At the same time, based on the cooperation with the MPS, the PBC will strengthen cooperation with other Ministries so that banks are able to verify Enterprise Code Certificate

Sybase und Adaptive Server, iAnywhere, Sybase 365, SQL Anywhere und weitere im Text erwähnte Sybase-Produkte und -Dienstleistungen sowie die entsprechenden Logos sind Marken