Skip to Content

SAP Memory management 64-bits Windows environment

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

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

2 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Nov 30, 2007 at 02:39 PM

    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

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Dec 03, 2007 at 08:48 AM

    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.

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

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

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.