How does the B2B server allocate memory on the host? Is it going to try to grab all the available memory it can find, or is it controlled by either a parameter in the admin console or by the limitations of the JVM?
Integration Server 4.6, just a new name - thanks for upgrading from B2B 3.x :-), does not allocate all the memory of the OS from within it. It is restricted to using the memory range defined in the server.bat or server.sh that is used to launch it.
See the
set JAVA_MIN_MEM=96M
set JAVA_MAX_MEM=128M
lines in the bat/sh file. The JVM will pre-allocate the minimum and allow the program to use up to the maximum. To reduce garbage collection it is good to increase JAVA_MAX_MEM to as much is reasonable on your machine. IS 6.1 ships with a JAVA_MAX_MEM of 256M and for a box with 2G of RAM it is reasonable to set this over 1G.
Server parameters such as watt.server.threadPoolMin will impact the amount of memory it allocates at startup, but a large factor is the number and size of the packages installed and enabled.
HTH,
Fred
It all depends on the env you are running and JVM limitation to that env.
Say for example if you are running on HP-UX then you cannot allocate more than 2 GB of memory for IS in the server.sh file which you control using JAVA_MIN/MAX_MEM.
Best thing is you should always set these values to same and to the highest supported by your O.S.
Otherwise when gc is call and it tries to shrink it will cause performance bottelneck whenever gc is called since you have different values for these
parameter’s.
This is what my understaing says…anybody please correct me if I am wrong.
Thanks,
Amit.