I was running 32 bit Java (JDK, JRE & Tomcat) on my 64 bit Windows. For indexing I was not able to allocate more than 1.5GB Heap Space on my machine. Each time my tomcat process used to touch the upper bound (i.e. 1.5GB) very quickly so I thought of working on 64 bit Java/Tomcat. Now I dont see any substantial changes in the indexing running time (though I have increased the heap size now) , it is still taking the same time what it was taking while running on 32 bit software. However the only difference is now the memory consumed by Tomcat is extremely low i.e. now it is not touching that 1.5GB mark. What maybe the reason for this?
Share
The fact that JVM was using X gigabytes of memory at a given time tells virtually nothing.
It could be that it was using those 1.5G for a split second and immediately jumped back to ground zero. Or maybe it was fluctuating around 1.5G all the time. Who knows?
One of the most reasonable ways to investigate this is to run your Tomcat with JMX enabled and connect with a JMX client, e.g.
jconsole. You will be able to see memory consumption graphs which will tell you what is the typical memory usage.