JVM - Memory heap size
![](http://jazz.net/_images/myphoto/9c639f557cf7a2a3f088f894b4d472cb.jpg)
we're facing some trouble at the moment while doing some kind of initiation of the JTS.
We're using the CLM just with RTC at the moment.
Doing SourceControl and WorkItem Tracking with Planning and so on.
At the moment we do have some productive teams on it, but nothing special, just arnd 100 users.
Our server model is this:
We do have one server for JTS and CLM.
Win 2008 R2 SP1
RAM: 8GB
CPU: Intel Xeon X5680 Quad 3.33 GHz
Jazz/CLM is running with WebSphere 7.0.19
And one server just for the database.
We have managed the WAS to use 4096MB heap size.
But in the last week we faced some "Out of memory" messages from Java:
************ Start Display Current Environment ************
Log file started at:
************* End Display Current Environment *************
JVMDUMP006I Processing dump event "systhrow", detail "java/lang/OutOfMemoryError" - please wait.
We did now raised the JVM heap size to 5120MB
Can anybody help what this errors means exactly and how to solve it?
If it's just some kind of "surely - you just have to put more memory to the JVM" then please tell me how to find the correct size of the memory the JVM needs.
Greetings,
Simon
5 answers
![](http://jazz.net/_images/myphoto/9c639f557cf7a2a3f088f894b4d472cb.jpg)
https://jazz.net/jazz/web/projects/Jazz%20Collaborative%20ALM#action=
com.ibm.team.workitem.viewWorkItem&id=191654
https://jazz.net/jazz/web/projects/Jazz%20Collaborative%20ALM#action=
com.ibm.team.workitem.viewWorkItem&id=198140
Comments
![](http://jazz.net/_images/myphoto/9c639f557cf7a2a3f088f894b4d472cb.jpg)
Hi Ralph,
thanks for those links. Hugh information given but I'm not sure which from those values are the right to set. At the moment after upgrade to v4.0 we faced the same problem again. We now put the min and max to the same value of 4096.
Greetings, Simon
![](http://jazz.net/_images/myphoto/dd1922c1e1f95aeb4e613b7bd258e0d3.jpg)
Hi Ralph, what is the VMmax on a Windows 2008-R2/64bit, WAS 8.0.0.3/64bit and Java 1.6/64bit system with 64GB physical Ram and 16 core's? What do you suggest on a single box: to have a single profile for each application, so you have multiple Java instances with VMmax=4GB each or one with a larg virtual memory (VMmax=20GB) for JTS/CCM/RRC/RQM/RRDI?
![](http://jazz.net/_images/myphoto/e5e63d5878217b64611c1df9401b7cd3.jpg)
Guido, I can't recommend anything here, all I can do is to point to the work items where we collect the data. in addition, I have attended several discussions about one box, several boxes, sigle WAS profile or multiple WAS profiles on a singel box. All approaches have advantages and disadvantages. I would suggest to follow the CLM 2012 Admininstration workshop and set the system up such that an IHS as proxy delegates the requests. This enables you to change the underlying topology if you decide you have to.
![](http://jazz.net/_images/myphoto/9c639f557cf7a2a3f088f894b4d472cb.jpg)
since we faced the same problem while using RTC 4.0 and the -Xgc:preferredHeapBase didn't help (though changing it to the value for RTC 4.0) we found, that it's possible to change the WebContainer of the WAS to synchronous mode.
To do this see http://www.ibm.com/support/docview.wss?rs=180&uid=swg21373312 on section 2.
After we've done this, we don't face any OutOfMemory errors with our java.
Greetings,
Simon
![](http://jazz.net/_images/myphoto/9c639f557cf7a2a3f088f894b4d472cb.jpg)
This article https://jazz.net/library/article/641 gives answers for sizing but if it would be correct we shouldn't have any trouble.
This document doesn't give information about JVM heap sizes ... just about system sizes...
https://jazz.net/library/article/551
![](http://jazz.net/_images/myphoto/9c639f557cf7a2a3f088f894b4d472cb.jpg)
The key here is to take a good starting point, and then to monitor and see how your performance is. The workload on the server will definitely impact how JVM memory and native memory are used. Some of the operations that can cause the most pain (in terms of performance), are build operations. I have seen some customers run continuous integration models, but then do "clean" builds where they reload EVERY file in the workspace for every build. This results in a lot of traffic (essentially recopying the entire codebase out of the repository for every build). Just update the workspaces for CI builds, and you can greatly reduce traffic. Do "clean" builds for baselines and release candidates, those builds that REALLY require a clean build.
Comments
Gustavo Reis
Aug 01 '12, 11:31 a.m.Im also interested in JVM settings for the CLM.