Real life SAP Screen Personas 3.0 SP 02 pre-requisite, might surprise you
If you are:
- running a recent 7.4x kernel (which you should since it is a pre-requisite for SAP Screen Personas 3.0 SP 02)
- you are using zero administration memory management (which is the default for most platforms)
The most important and relevant instance profile parameters for SAP Screen Personas 3.0 SP 02 are:
As provided by SAP all 3 parameters are related in the following way:
em/global_area_MB = (min($(em/initial_size_MB) * 0.05, 32000))
em/initial_size_MB = (min(512000, $(PHYS_MEMSIZE) * 0.7))
Now knowing that the recommendation and the criteria to pass the Personas Health Check is to have around 1 GB of global area memory, this translates to:
em/global_area_MB = 1024
em/initial_size_MB = 20480
PHYS_MEMSIZE = 29257
So here is the catch. Unless your SAP server has 30 GB of physical RAM dedicated to the AS ABAP instance in question, you won’t be able to meet the pre-requisites and the Personas Health Check will show up as red.
Now you may want to argue that you can change the value of em/global_area_MB to not be based on em/initial_size_MB. Sure you can do that but are you sure you want to do that? Not to follow years and years of experience SAP has with automatically tuning the instance to get the optimal performance? That is assuming you actually understand the implications of deviating from the default values.
Nowhere in the SAP Screen Personas 3.0 SP 02 documentation, notes, Wiki, etc. is this real life pre-requisite mentioned so you should be aware of it. For some it may not be an issue; heck, RAM is cheap these day, right? – But for others it might be, like in a virtualized environment with tens or hundreds of SAP instances with limited physical memory available on the host.
There is no way for the automatic memory configuration to know if and to which extend the integrated ITS is going to be used in a system. Up to Kernel 7.41 em/global_area_MB was set to a fixed value of 64 or 96 MB, now it is determined by that formula (giving usually much higher values).
If you want to make extensive use of ITS (this includes SAP GUI for HTML as well as Screen Personas 3.0) you have to reserve some more memory for that. As I wrote in the beginning the automatic configuration cannot know that, only you are able to calculate the expected load.
And yes your conclusion is right, you have to adjust em/global_area_MB for that (according to the load you expect). There is no reason to not do this, actually that is exactly why there is a parameter for this.
So the backward calculated memory pre-requisite you mentioned is in fact none, you only have to adjust that one parameter.
As I wrote, you can adjust em/global_area_MB but one should understand the implications of adjusting it, you can't just set it to a random value without realizing the implications on the entire system. SAP KBA 2148571 is a good starting point in understanding the big picture.
Yes there is more stored there now and therefore the values have been increased. To be on the save side you can take the 5% of the initial size and add what you expect to need in ITS.
64 GB Physical Memory
44,8 GB Initial Size
2,24 GB by formula + what you expect to need in ITS e.g. 1 GB => 3,24 GB Global Area
Instead of "switching off" zero administration, I would rather increase x in the following formula
em/global_area_MB = (min($(em/initial_size_MB) * x, 32000))
where x is 0.05 (5%) to for example 10% (x = 0.1) depending on the value of PHYS_MEMSIZE and the requirements for global area memory. Doing so will increase the size of EG leaving less for EM but there is no way around that currently.
I guess I should have spelled it out in the blog but in my opinion SAP should document this, for example:
In order to use SAP Screen Personas 3.0 SP 02, changes to your memory management configuration might be required. In case your SAP instance has less than 32 GB of physical memory (value of PHYS_MEMSIZE), you have the following options:
- move away from using zero administration and specify a value of 1024 or more for em/global_area_MB
- keep using zero administration but increase the size of em/global_area_MB by increasing the value of x in the following formula em/global_area_MB = min($(em/initial_size_MB) * x, 32000)) from the default of 0.05 (5%) until the formula results in 1024 or more
I hope that clears up what is the purpose of this blog.