cancel
Showing results for 
Search instead for 
Did you mean: 

SAP Memory management 64-bits Windows environment

former_member340039
Discoverer
0 Kudos

Hi,

I've a question regarding memory management in a 64-bits windows environment.

The default for parameter ztta/roll_extension is 2000000000, which is 2GB.

The default for parameter em/address_space_MB is 4096, which is 4GB.

Parameter em/address_space_MB should determine the user quota in a windows 64-bits environment.

However...In the default case (that is recommended with zamm, to set no parameters), the ztta/roll_extension limit's the user quota.

Im my opinion, whe should increase the ztta/roll_extension (for example to 20GB) to force the system that it uses em/address_space_MB as the user quota. (like we did in the 32-bits releases, 'disable' the ztta/roll_extension).

I couln't find documentation on this.

Kind regards,

Carla

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

we have two different extended memory models, depending on the operating syste platform:

1. view memory model

2. flat memory model

in the view model every work process reserves em/address_space_MB in his virtual address space to be used for extended memory.

When a user context is processed his memory pages where mapped from the operating system pool (initialized with em/inital_size_MB, maybe growing up to em/max_size_MB) in to the work process address space. after the user request is processed by the wp the memory pages are unmapped again. This model has to be used on Windows 32 Bit in order to utilize more than 3 GB physical memory (but not in one user context). In the view model em/address_space_MB minus the parts not addresseable for user context (eg/global_area) is the maximum amount of extended memory a single user session can consume. If ztta/roll_extension is smaller than the (em/address_space_MB - em/global_area_MB) it will limit extended memory quota for the user session.

in the flat model the complete address space is mapped during initialization of the work process into its virtual address space. memory pages are only protected / unprotected in order to access them an prevent unintended writes to them. because protecting/unprotecting memory pages on Windows 64 Bit Servers (2003) is more expensive than mapping/unmapping them we are still on the view model. in the flat model only ztta/roll_extension is used to control the extended memory quota for a user session.

you are right: to get the same behaviour in memory management in Windows 64 Bit you can set the value of ztta/roll_extension up to 4 GB.

but keep in mind that it plays a more important role when the flat model is used.

peter

Answers (1)

Answers (1)

former_member340039
Discoverer
0 Kudos

Hi Peter,

Thanks for your clear answer on this topic.

This triggers some other questions, i hope that you can answer these also;

If I understand it correct, windows always uses the view model.

Will this behaviour change in future?

So, all Unix systems use the flat model? Therefore, the em/address_space_MB is not used here.

The SAP defaults like below are not correct; we should set ztta/roll_extionsion to 4GB ?

The default for parameter ztta/roll_extension is 2GB.

The default for parameter em/address_space_MB is 4GB.

Is there a good document that describes all memory management details?

Thanks in advance,

Carla.

Former Member
0 Kudos

>> uses the view model.

as there is currently no advantage for the flat model - no. maybe with Windows Server 2008 - but this is not yet decided.

>>So, all Unix systems use the flat model? Therefore, the em/address_space_MB is not used here.

the 64 Bit versions: as far as I know: yes

>>The SAP defaults like below are not correct; we should set ztta/roll_extionsion to 4GB ?

well, the expression <i>not correct</i> is not right. em/address_space_MB is a virtual address space reservation - not a memory allocation. This is done to have the same addressspace in every workprocess. The quota (maximum amount of memory allocatable in extended memory by a user session) is respresented by ztta/roll_extension. As em/address_space_MB has also provide address space for em/global_area it makes sense to have a second parameter.

the 2 GB extended memory quota is already a lot of memory. I do not think that it is wise to raise this to 4 GB. Effectivley this is about 1,6..1,9 GB more depending on the global_area. if you ask me for my oppinion the current settings are already generous. if a transaction is exceeding the roll_extension limit, it will run in private modus (work process get's private to transaction) and will be able to allocate addtions memory up to abap/heap_area*. Do you have so much reserved WPs that this step makes sense?

>>The default for parameter ztta/roll_extension is 2GB.

yes

>>The default for parameter em/address_space_MB is 4GB.

yes

>>Is there a good document that describes all memory management details?

unfortunately no, or at least not known to me.

regards

Peter