out of memory error in libmcs

14-12-2004 14:25:07

When I used libmcs for a larger sdf (1,700 compounds) I got the following error message.





Exception in thread "main" java.lang.OutOfMemoryError

ChemAxon efa1591b5a

04-01-2005 08:23:25

The libmcs program has significant memory requirement, which scales according to the n*log(n) formula, where 'n' denotes the number of structures in the input set.





The Java run time environment allocates 64MB memory for each java applications by default, which is not always enough. Above 1500 input structures or so this 64MB is not sufficient (in the case of libmcs).


There is a way to increase the size of memory allocated for java programs, details of how to do it are discribed in this document: http://www.jchem.com/FAQ.html#outofmemory.





If you don't find the above link useful, get back to the forum and we'll try to assist you further.





Still on this line: the next version of libmcs will provide a low-memory-mode, in which libmcs will consume significantly less memory, though at the expense of increased running time.

User e81aa85d78

07-03-2006 14:42:46

mvargyas wrote:



The Java run time environment allocates 64MB memory for each java applications by default, which is not always enough. Above 1500 input structures or so this 64MB is not sufficient (in the case of libmcs).


There is a way to increase the size of memory allocated for java programs, details of how to do it are discribed in this document: http://www.jchem.com/FAQ.html#outofmemory.


above link useful, get back to the forum and we'll try to assist you further.





Is there a Java virtual machine that would allocate memory dynamically? I remember that when Java first came out, I tried it and gave up on Java because of this memory limitation. It find it hard to believe that this limitation has not disappeared in 2006.





Bruno

User 677b9c22ff

24-10-2006 01:16:34

Hi,


Java 1.5 32-bit Windows/LINUX can only allocate 1600 Mbyte (1.6 gig) of RAM. Use native Solaris if you want more. To use more heap space under WIN or LUNIX use the 64-bit version of WIN or LUNIX and the JAVA server version.





See:


Tuning JAVA


http://docs.sun.com/source/819-0084/pt_tuningjava.html





Argument to include in your batch for fastest calculation:


java -server -Xms1024m -Xmx1024m -XX:+AggressiveHeap





Tobias