cancel
Showing results for 
Search instead for 
Did you mean: 

Additional Memory (RAM) in Portal

Former Member
0 Kudos

Hi Experts,

We have added more than double the RAM in our BI_Portal System. System is still the same and acting very slow. I understand that I have not increased heap size or distributed RAM properly, but I need to know what exactly should I do.

I already have 3 server nodes in Quality system. Should I create more Nodes or should I tune the parameters.

Your help is really appreciated!

Thanks,

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello,

Just adding more RAM is not sufficient as the jvm process only uses the amount of memory allocated to it through the

configuration(Perm/Heap/Others).

Please ensure that the memory settings & jdk are both recommended as per note 723909. It is very important to have these parameters as recommended in this note. However, these are general recommendations and the tweaking can be/needs to be made when need be.

If the system is very slow, please also check if there is any paging activiity/swapping going on @ the jlaunch process level. The swapping of jlaunch processes make it really slow. You need to adhere to the formulae mentioned in note 723909/section 2.3 to ensure that you have enough memory wrt no. of servers created on the system.

You could also check the garbage collection pattern in files viz std_server* to see if there are frequent or long GCs going on. Any of that may need more tweaking in terms of values/parameters may be required.

Hope the above helps.

Snehal Bhaidasna

SAP Labs, Palo Alto, CA(USA)

Former Member
0 Kudos

Hi Snehal,

Thanks for the reply. I have been looking at this note for few days and also gathered some information from my current environment, but I'm confused on one of the things.

I'm confused about the heap size. When you click on the server node, you can see the heap size in from of you on your general Tab as ("MAX Heap Size"). You can see the same thing in Bootstrap tab. So which one is which and which one do you setup for Memory (Heap)?

Another confusion is that when you see the Heap size on general Tab of the Server node, then why do you have -Xmx & -Xms defined? As per my understating, Xmx & Xms is for minimum and maximum heap size. Do you have to keep the value of Xmx as the value of Max Heap Size on general Tab, match both values? (I hope it's not too confusing)

Last, What's -Xmn parameter for?

I really appreciate your help!

Thanks,

Afi

Former Member
0 Kudos

Hello Afi,

Seems like you are on AIX since you mention -Xmn :-)..

-Xmn is the same as NewSize in non-IBM platforms. We recommend having -Xmn1000 as the default parameter. By default the installation sets it as -Xmn400 whidh is not sufficient. So if its not 1000, please do make it so.

Also, -Xmx = MaxHeapSize = Maximum Heap Allocated to that process.

-Xms = Initial Heap Size.

We always recommend having MaxHeapSize = -Xms(defined in the JVM parameter sections). On the fly heap extension affects performance and so its good to have the Max as the Initial set.

What you see in Bootstrap section is for the Bootstrap process. Bootstrap process is run when the j2ee engine startup takes place. The main aim of this process is to synchronize DB with the file system. It usually doesn't need as much heap allocation as the main server process. The server part is the one where you usually do the tweaks.

So, there will be 3 places where you can make the changes:

1) Dispatcher

2) Bootstrap

3) Server

4) Servers General contains the settings which are applied to a newly created server node. You can make changes to this newly created server node by going into 'Server' tab. (point 3).

Basically, every JVM process can have the allocation such as Heap/NewSize(Xmn). All of the above are JVM processes (jlaunch for j2ee engine).

Hope the above is clear.

Let me know if you have any questions.

Best Regards,

Snehal Bhaidasna

SAP Labs, Palo Alto, CA(USA)

Former Member
0 Kudos

Hi Snehal,

Awesome details. Most of our SAP Env., is on AIX, but this particular one is on Solaris 10. It's strange how parameters are defined on my system. It has Xmn as well as XX:NewSize. (As you can see below). So, since I can see both parameters (NewSize & Xmn), which one is system utilizing?

Server Nodes Parameters:

(-XX:NewSize=420m)

(-XX:MaxNewSize=420m)

(-XXMaxPermSize=512M)

(-XX:PermSize=512m)

Xmn1024m

Xmx2560m

I really appreciate your help!

Thanks,

Afi

Edited by: Afi C on Feb 23, 2010 11:59 AM

Former Member
0 Kudos

Hi Afi,

So, for Solaris, you don't need -Xmn.

Note 723909 & Solaris related note 716604 have extensive list of parameters specific to Solaris. Xmn is ignored here. Rest all the parameters look ok in your response.

Regards,

Snehal Bhaidasna

SAP Labs, Palo Alto, CA(USA)

Former Member
0 Kudos

Thanks a lot!!

Former Member
0 Kudos

Hi Snehal,

One more question. How many server nodes can you have in your system based on the available memory? So let's say, I had 4GB with 2 server nodes and now I have 8 GB, should I go for two more Nodes? How do you make sure that you are setting your parameter within the limit of physical Memory. According to my understanding, the following must fit in the physical Memory.

1. Heap Size

2. Permanent Space

3. Stack

So how do you calculate all those? So for the Heap Size, do you calculate heap size of all the server nodes plus Dispatcher Node's heap size? then add Permanent spaces?

How would you calculate Stack Memory? I just want to know if you have x amount of RAM, how would you define or how many Nodes can you define to make sure that paging won't happen or exceed Physical Memory?

Thanks for the quick response!

Afi

Former Member
0 Kudos

Hi Afi,

Section 2.3 in note 723909 explains the formulae that needs to be conformed to wrt Physical RAM & No. of server nodes on the system.

That's exactly the formula you are looking for :-).

Regards,

Snehal

Former Member
0 Kudos

Hi Snehal,

Cooool...!!!.. So the formula is:

For 32 Bit >> #ServerNodes = (AvailableMemory / 1.5 GB)

For 64 Bit >> #ServerNodes = (AvailableMemory / 2.5 GB)

So, #ServerNodes = (8192 / 2.5 GB) let suppose this is my env. with 8 GB Memory with 64 Bit.

Calculation >> #ServerNodes = (8192 / 2560) = 3.2

Total of server nodes I can have are 3? Is my understanding OkAy?

Thanks,

Afi

Former Member
0 Kudos

Yes, assuming you have all this 8G just for J2EE Engine and there is no DB/Other memory intensive apps running on this machine.

Regards,

Snehal

Former Member
0 Kudos

Hi Snehal,

Database is running on this Box... It's a IBM DB2.

Thanks,

Afi

Former Member
0 Kudos

You need to factor in, how much out of 8G will be available to J2EE.

Regards,

Snehal

Former Member
0 Kudos

Thanks a lot for your help!

I was going through some forums and found very interesting discussion link on SDN where it talks about the Server Nodes Limit. As per the forum, it is recommended to create 5-6 server nodes. Then add a diaglog instance. So at this point, I have 32 GB RAM in Portal. So as per the formula, I can have up to 13 server nodes. so.... What do you suggest in this scenario?

[SDN Link|;

Thanks,

Afi

Former Member
0 Kudos

Yes, we don't recommend having too many server nodes on the same instance. It is always good to have another instance with additional server nodes. For more sizing related info you could refer to best practises documents at

http://service.sap.com/performance

Thanks & Regards,

Snehal.

Former Member
0 Kudos

Hi Snehal,

I have opened another thread. Can you please punch in your expert knowledge.

Thansk,

Answers (0)