MALT-run out of memory, java issue



I’m attempting to use MALT-run on samples with an index based on the 2017 NCBI prokaryotic protein NR datatbase (total index size 639GB).

To do this, I’m calling MALT using:
'malt-run -t 28 -i “samples” -o “.” -d “index” -m BlastX -v’
and using the default memory setting of loading the entire index into memory. I’m also using “-Xmx850G” in malt-run.vmoptions. Java version used is 1.7.09. The total available memory on the machine I’m using is 1TB of RAM, which should be ample for an index of this size.

My issue is that MALT-run appears to have a problem loading the entire index into memory, ultimately resulting in the java error:
“java.lang.OutOfMemoryError: Java heap space
at megan.I.M.(Unknown Source)
at malt.D.K.(Unknown Source)
at Source)
at malt.MaltRun.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
at java.lang.reflect.Method.invoke(
at com.exe4j.runtime.LauncherEngine.launch(
at com.install4j.runtime.launcher.UnixLauncher.main(”

I’ve tried a number of different -Xmx values, but to no avail. Upon monitoring memory usage via ‘top’, I notice that MALT-run manages to load 3/4 tables, but appears to run out of memory on the last one. My guess is this may be an issue with Java’s heap space / garbage collection management?

Any help would be greatly appreciated,
Kind regards,


You should use DIAMOND rather than MALT, it requires much less memory.