[Archive] memory usage

Message by Balint Eles:
How can we increase the usable memory (heap size of the JVM) for the
SPIS in the latest (5.1.8) version?

Message by ruard:
Hi Balint,
You can find this information in the spis user manual, section 9.2.
Benjamin Jeanty-Ruard
“9.2. How to increase the memory stack?
3D PIC models and mesh analysis may be very intensive in memory and CPU resources. A proper setting of your JVM might be critical to run your realistic models.
The recent JVMs (1.6 and higher) have removed memory limitation on most of the platforms. Several runs have been successfully performed with more than 20Gb of RAM (i.e. about 10 6 tetrahedrons mesh in full PIC mode with about 15 particles by cells) on UNIX/Linux 64 bits systems (Java 1.6 Sun).
The maximum addressable memory size can be set by editing the launching script in the SPIS_ROOT directory.
Just adjust the value of the memory Java stack size, i.e. the variable -Xmx, as follow in the section:
java -Xmx1024M -splash:resources/images/splash_spis-geo-png24.png -jar -Dfelix.config.properties=file:resources/felix/config.properties -Dactivate3DViews=true dependencies/thirdparty/felix-4.0.2/felix.jar
By default, it is set to 1Gb in order that most of users can at least start SPIS on small computers. Set it to 4Gb (i.e. -Xmx=4000M) or more if you computer has more RAM. This should still be lower than the real total RAM. On a standard laptop (Mac OSX with 4Gb), it is normally possible to run easily systems with up to 9.0E5 tetrahedrons.
IMPORTANT REMARK: Above comments are valuable only for UNIX based system. Under most of standard desktop Windows system (Windows XP 32-bits), the total amount of memory dedicated to one job is limited to less than 2Gb. In this case, it is impossible to overtake this limitation due to the OS capabilities.
This is why, we strongly recommend for large modelled systems to perform your simulations on UNIX-based systems or Windows server OS.
Remark: The total memory cost may also depend on the used JVM and its settings. Please see the JVM documentation for further information.”