diff --git a/src/test/utils/CordContainer.py b/src/test/utils/CordContainer.py
index 3b62f68..d98bbe0 100644
--- a/src/test/utils/CordContainer.py
+++ b/src/test/utils/CordContainer.py
@@ -403,7 +403,7 @@
 
     def __init__(self, name = NAME, image = IMAGE, prefix = PREFIX, tag = TAG,
                  boot_delay = 20, restart = False, network_cfg = None,
-                 cluster = False, data_volume = None, async = False, quagga_config = None):
+                 cluster = False, data_volume = None, async = False, quagga_config = None, max_instances=1):
         if restart is True:
             ##Find the right image to restart
             running_image = filter(lambda c: c['Names'][0] == '/{}'.format(name), self.dckr.containers())
@@ -417,11 +417,18 @@
         if quagga_config is not None:
             self.quagga_config = quagga_config
         super(Onos, self).__init__(name, image, prefix = prefix, tag = tag, quagga_config = self.quagga_config)
+        self.max_instances = max_instances
         self.boot_delay = boot_delay
         self.data_map = None
         if cluster is True:
             self.ports = []
-            self.env['JAVA_OPTS'] = self.JAVA_OPTS_CLUSTER
+            if self.max_instances <= 3:
+                java_opts = self.JAVA_OPTS_CLUSTER
+            else:
+                instance_memory = (get_mem(instances=self.max_instances),) * 2
+                java_opts = '-Xms{} -Xmx{} -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode'.format(*instance_memory)
+
+            self.env['JAVA_OPTS'] = java_opts
             if data_volume is not None:
                 self.data_map = self.get_data_map(data_volume, self.guest_data_dir)
                 self.host_guest_map = self.host_guest_map + self.data_map
