When launched as an Application, Jalview will automatically configure the amount of memory allocated to the program to be 90% of physical memory. You may wish to change this behaviour - particularly if you are working on a machine that runs other memory intensive processes.
Signs that Jalview is Running out of Memory
If
Jalview has not explicitly told you that it has run out of memory,
then a common sign is that a function that normally works seems to
have no effect when working with a larger set of sequences (this
might include open dialog boxes for saving PNG files, or when
interpreting the result of a web service calculation).
Jalview Memory Usage Monitor: If you are concerned about memory, or think that things might be behaving strangely because of a shortage of memory, then you can check this by enabling the memory usage monitor. This is done by selecting the Tools→Show Memory Usage option. Once enabled, the memory usage monitor displays the currently available memory, the total memory, and the percentage free at the bottom left hand side of the Jalview Desktop window's background.
Increasing the memory available to Jalview
The
amount of memory allocated is defined wheb Jalview is launched
because of the way that Java runs on a computer - what is actually
run is a program called a Java virtual machine (a JVM) which
executes the java program instructions. The JVM has limits on the
memory that can be allocated to the java program - and it is often
necessary to adjust them if you are working with particularly large
datasets, or need to make room for other processes on the machine.
Jalview 2.11 includes a launcher that automatically
configures the proportion of memory allocated to Jalview's JVM, and
its behaviour can be altered in a number of different ways:
jalview.jvmmempc=50In Windows and in macOS you can then launch Jalview by double clicking on this file, and your memory setting will be used instead of the default value.
/PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvlIf you want to use a memory setting like this and open a file you can use both the jvl and alignment files as command line arguments, but you must put the jvl file first, e.g.
/PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvl /path/to/alignments/myalignment.faAlternatively, you can use the standard Jalview command line arguments with or without the jvl file (first), e.g.
/PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvl -open http://www.jalview.org/examples/jpred_msa.fasta -annotations http://www.jalview.org/examples/jpred_msa.seq.concise -colour ClustalYou can use command line arguments to control memory settings in Windows and macOS too:
\PATH_TO_JALVIEW\Jalview.exe %HOMEPATH%\mymemorysetting.jvl -open %HOMEPATH%\myalignment.faIn macOS you can use the macOS open command like this:
open /Applications/Jalview.app --args ~/mymemorysetting.jvl -open ~/myalignment.fa(put all the Jalview arguments after the --args parameter)
-Xmx8gJalview binaries for Windows and macOS are distributed with their own JVM which you will find in
\PATH_TO_JALVIEW\release
/Applications/Jalview.app/Contents/Resources/app/releaseand on linux or unix
/PATH_TO_JALVIEW/release
java -Xmx1500m -cp "/PATH_TO_RELEASE_DIR/*" jalview.bin.JalviewOr on Windows
java.exe -Xmx1500m -cp "\PATH_TO_RELEASE_DIR\*" jalview.bin.JalviewNote: for this to work the classpath argument wildcard must be simply a '*' and not '*.jar'.