System: 2 x 8core xeon CPUs (16cores) Hyper threading off
I've cranked up the max heap memory for tomcat from default to 4g. When a project is run in batch does the forked process use it's own thread and memory or is it shared with tomcat? can I change the max heap on forked processes?
We have a couple of projects that pull 950k+ records from a DB and the server was running out of heap.
Any help would be appreciated.
As stated in the other post concerning the Heap Size and Java, you would have to tweak your settings for these as well. We let Java handle the CPUs and such. We do not do any handling of the Memory, so it would be shared in Forked situations.
I can however discuss your projects and see how you're doing this to see if there are any other ways we can help you process the excessive record counts as quickly as possible.
Contact us at Support@GoAnywhere.com and let's see what we can do to help...
Lead Solutions Consultant
I will recommend you to use a visual garbage collector tool or jstat to determine which parameters you need to change + start using ParallelGC. This is what we are
using in our environment (RHEL5 VM, 4 Cores and 6GB RAM):
JAVA_OPTS='-Xmx2048M -Xms2048M -XX:NewSize=512M -XX:MaxNewSize=512M -XX:SurvivorRatio=6 -XX:PermSize=512M -XX:MaxPermSize=512M -XX:+UseParNewGC -XX:ParallelGCThreads=3 X:+UseConcMarkSweepGC -XX:+DisableExplicitGC -Djava.awt.headless=true -Dzookeeper.url=**********:2193 -Dzookeeper.password=********'
In you case you can set ParallelGCThreads=8 and start playing with the memory parameters.
http://www.oracle.com/technetwork/java/ ... 40523.html