Sorry James, that's not the reality. You would be surprised ... I am running a Java hosting support group in my business life, and guess what: Just because HotSpot could run 64 bit OS, most of the vendors do not activate the 64bit version (moreover, as a matter of fact among the first things in many smaller setups that I check for friends is to even change the runmode from to use the -server option).
I strongly recommend to check the following document: http://java.sun.com/docs/hotspot/HotSpotFAQ.html#64bit_platforms namely this sentence: "If neither -d32 nor -d64 is specified, the default is to run in a *32-bit environment*." This means that if you are not making up your mind about 64bit or not telling your JVM that you need 64bit mode, you will get the 32bit version regardless what the OS can do. Further, I can only see very few cases where more than 1.6 GB of Mem will really be needed (consider that with the JVM's Garbage Collection, GC, you have a good mechanism to make 1.6 GB suffice many many situations). If you really think you need more than 1.6 GB, you will require 64bit mode; then also consider that the GC needs decent tuning if you overly allocate Mem (remember, in the simpler GC approaches, the JVM will be frozen for the duration of the GC run and the larger the memory space, the longer this takes). Well, this could go on for lines and lines ... all I really want to encourage is: - Be very specific with your runtime environment (e.g. ) just asking for the latest of hardware and the latest of JVM technology is not enough to peak out performance - make sure you understand your requirements vs your configuration - do not assume too much (if anything) - ask your provider (or your sysop) to provide you with the process command line of the running JVM process, because thats much easier to get than to browse the startup scripts and understand which option they will switch on or off. The full process command line can be easily achieved on Unix/Linux by typing ps -ax | grep java which will list out all running java processes on the console. If there is several jvms running, use path names to identify which one is yours. Just a side remark: We've made excellent experience with JVM 1.4.2_* in both, 32bit and 64bit mode and we are still running ca. 1000 nodes in that configuration [... and I am fully aware that this is not what developers want to hear, btw B-) ]. So also check whether there is any reason why you need more recent JVMs. (I am making this comment without awareness whether OFBiz would require Java5 or later; can someone help on that?). Also, I want to remind the group about my earlier questions re. clustered or load-balanced OFBiz configurations out there. any? Kind regards Carsten 2009/9/3 James McGill <[email protected]> > On Wed, Sep 2, 2009 at 2:42 PM, Carsten Schinzer > <[email protected]>wrote: > > > Typical production recommendations on a JVM level are: > > > > - max. ca. 1.5 GB per JVM (constraints according to > > http://java.sun.com/docs/hotspot/HotSpotFAQ.html#gc_heap_32bit) > > > > > That only applies to 32-bit JVM's, which probably only affects people > running Windows these days. > > -- > James McGill > Able Engineering > -- Best Carsten Schinzer Waisenhausstr. 53a 80637 München Germany
