Dear I/O Analyzer Community,
We just recently found there is a bug in our tomcat5.5 startup script, which overrides JVM heap size to only 128M. This should in fact be the root cause of many out of memory issue.
If you are running into "OutOfMemoryError" (shown in /var/log/daemon.log) or you're planning to run with more than 5+ ESX hosts,
please increase JVM heap size for tomcat5.5 to 1.6G by the following:
- Please login to appliance
- Edit file "/etc/init.d/tomcat5.5"
- Replace line 95 from
JAVA_OPTS="-Djava.awt.headless=true -Xmx128M"
to
JAVA_OPTS="-Djava.awt.headless=true -Xms1638M -Xmx1638M" - Save the change
- Restart tomcat 5.5 by doing
`/etc/init.d/tomcat5.5 restart`
After doing the above steps, tomcat 5.5 should set JVM heap size to 1.6G, which in our testing is enough to support 10+ hosts with 256+ VMs.
There will still be a warning message when you're trying to add more than 5 ESX hosts to a single controller VM.
Please ignore the "5+ hosts" warning once you have done so.
If you'd like to suppress the "5+ hosts" warning after applying the above change, please simply login to appliance and do `touch /var/lib/tomcat6`. This should temporary work around the frontend check.
NOTE that due to the limitation of 32-bit JVM, the heap size still cannot exceed ~2.6GB. If you do need such a large heap, please be sure to increase the guest memory first since the default guest memory of I/O Analyzer VM is 2GB. (You'll need a few hundred MB more in addition to the JVM heap size for guest memory to accommodate other processes.)
Please let us know if you still run into "out of memory" issue after the above steps.
We're working on our next release, which will increase default JVM heap size to 1.6G and we'll document steps to adjust it. Sorry for the inconvenience.
Thanks,
Chien-Chia