04141: | default heap max is too low and no indication is given of fault |
Category: Container Status: ClosedSeverity: HIGH Reported against release: 0.8.1 Fixed in release: 0.8.2 (Beta Refresh 2)
PROBLEM:The ContainerManagerPolicy heap max size is set too low. It is
currently defaulted to 16M. An application that has a heap bigger than
this will not run in the container. The default should be increased to
128M.
In addition, no indication is given that there is a problem, other than
a bunch of applications get memory errors. Some indication needs to be
provided to make this easier to diagnose and correct. Perhaps in the
container manager output... ANALYSIS:Default container capacity will be set to 64M. WORKAROUND:The container maximum size is configurable via the
ContainerManagerPolicy.xml file, which is located in $OW_HOME/openwings-
0.8/policies.
There are two settings in this file which need to be changed. First,
the Java command should be changed. Search for "virtualMachine", the
line below this contains the actual JVM command used to start a new
container- "java -Xmx16m". (This sets the maximum memory on the JVM to
16 M, which was the previous default.) Change this line to to have a
higher value, such as "-Xmx64m" for 64 M.
The second setting is the
property "com.mot.openwings.container.maxMemory". Search for this text,
and change the value of the property to the integer corresponding to
the value you set above. For example, 64M = 67108864. (This property is
how the container implementation learns the maximum size of the JVM.
This won't be necessary in Java 1.4 virtual machines, since the new
Runtime.maxMemory() method will be available.)
|