This content has been marked as final. Show 4 replies
Well first of we need to see that bit arch will make different shades to use JVM Heap.
So for going with 32bit JVM we can only consume 4 GB of RAM as processor memory which include both Heap and Native memory.
We can only set Max 2 GB of Heap for 32bit JVM as it will hold multiple user as Heap setting is for single JVM.
Now if you have 64bit JVM on 64bit OS then we can increase this Heap size to more.
So make sure that we need to allocate Heap for entire JVM instance which contain multiple threads and etc.
and also make sure to keep Heap lesser than Native memory.
Total Memory = Heap Memory + Native Memory.
Still need any further details on this please let me know.
Guess I should fill in the blanks - sorry for the omission.
I am using WLS 10.3.5 (soon to be 10.3.6)
I am running on Ubuntu Linux 12.04 LTS x64 and the JVM is 1.6.0_35 x64 as well.
So far perfomeance has been acceptable until a I have 10+ users - and I have suspected this to be lack of memory (hard to prove at times).
I assume by Native memory we are talking the actual RAM installed.
I was planning to leave 4 gb out of the JVM so with 16 Gb RAM I wanted to allocate about 12 Gb to the web server (as this is a dedicated server and runs no other applications).
I also only have one fairly large application running (Fusion Project).
I have been monitoring it - and have had a few "Overloaded" warnings. VisualJVM shows plenty of PermGen (512Mb) - and I have not had any "out of permGen space".
I will try to add another 3 Gb to the heap and see what happens (I have it set at 1 GB now)
There never are many occasions where I have 10+ users (twice a month on peak times) - but these are the critical times.
Native memory is the memory used by the native libraries. Heap and permGen are what your jvm will use.
For better perfomance, I will recommend you to use jrockit. Jrockit does not have the concept of permGen.
Out of 16GB, if you want to allocate 12GB memory effectively to a single JVM, you can specify several JVM command line arguments.
This link gives the detailed explanation of all the command line arguments provided by JVM.
You will get the optimized results by using jvm arguments.