From 883ba618f83573893f1f0b895b0bf84dacccefe5 Mon Sep 17 00:00:00 2001
From: Jim Procter
- Jalview sometimes runs out of memory. This is because of the way
- that Java runs on a computer - what is actually run is a program
- called a virtual machine (the JVM) which executes the java
- instructions. The JVM has limits on the memory that can be allocated
- to the java program - and you might need to increase them if you are
- working with particularly large datasets.
Jalview Memory Usage Monitor: If you are concerned about
@@ -52,105 +54,8 @@
window's background.
- Increasing the memory available to Jalview
- JavaWS sets the JVM parameters through special tags in the JNLP
- file. You can obtain a JNLP file with modified memory settings
- from our service with the following link (replace 2G with
- desired memory in G or M):
- Alternatively, if you want to create your own JNLP file then
- please download the latest JNLP file from http://www.jalview.org/webstart/jalview.jnlp
- and modify the max-heap-size parameter for the j2se tag in the
- <resources> element. e.g.
-
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).
+ When launched as an Application, Jalview automatically tries to
+ maximise the amount of memory allocated to it, but sometimes it may
+ run out of memory. This is because of the way that Java runs on a
+ computer - what is actually run is a program called a virtual
+ machine (the JVM) which executes the java instructions. The JVM has
+ limits on the memory that can be allocated to the java program - and
+ you might need to increase them if you are working with particularly
+ large datasets.
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).
The way
- you increase the memory settings for the JVM depends on which
- installation of Jalview you use:
-
-
http://www.jalview.org/services/launchApp?jvm-max-heap=2G
-
-<j2se version="1.7+" initial-heap-size="500M" max-heap-size="1000M"/>
-
In both cases, you should save your new jnlp file somewhere and then
- either point your web browser at the file's url, launch it from
- your file browser, or from a terminal window run javaws (located
- in your Java installation's bin directory) with the file location
- as its argument. The file's url is something like :
-file://<full path to file>
-
If Jalview doesn't start up, see below.
- You'll have to edit the above settings in the JNLP file using a
- text editor, save it, and try starting Jalview with it once more.
-
You need to change the InstallAnywhere configuration - settings for the application. These are found in different - places depending upon which operating system you have : -
Take a look inside the Jalview program installation - directory (this might be in C:\Program Files\Jalview on - windows). You should find a file called 'Jalview.lax' in it - - make a backup, and then add the following lines to the end - of the original file : -
-lax.nl.java.option.java.heap.size.max=1000m -lax.nl.java.option.java.heap.size.initial=500m -Case and (lack of) spaces are important here! Do not add any spaces - after the m in each line, and do not put any spaces before - 'lax'.
- The lines you need to change are in the Info.plist - file inside the Jalview.app/Contents directory - (which is where the installAnywhere installation was made) : - - -
-<key&ht;VMOptions</key&ht; -<array> -! <string>-Xms2M</string> -! <string>-Xmx64M</string> -</array> -Exchange the above two string tags for :
-<string>-Xms500M</string> -<string>-Xmx1000M</string> --
- Please Note: We do modify the default memory settings in - Jalview from time to time, so you may find different numbers to - those shown in the examples above. -
- Jalview doesn't start... What do the - memory settings mean ? - -The 1000m value corresponds to the maximum number of megabytes - of space that java objects can occupy. The 500m is the initial heap - size that java will run in - increasing this can speed up memory - allocation if you know you will need 500 meg of memory to begin with - (ie it should speed up loading large alignments).
-If, after setting the initial and maximum heap size to some - large value, you cannot actually start Jalview, then the max and - initial sizes are too big for your machine (there seems to be a - physical limit related to physical RAM - email the usual address to - enlighten us if you know better!). Our experiments found 1000m to be - the biggest setting that could be used on a 1GB machine. Just try - reducing the sizes until Jalview starts up properly!
-- We increased the default memory in Jalview 2.10.5 to 1G. To launch - Jalview with the pre 2.10.5 default memory allocation, use the Jalview - 256MB JNLP. -
-+ Increasing the memory available to Jalview