JAL-4014 release notes for JAL-4026 patches
[jalview.git] / help / help / html / memory.html
index 4baebf2..ec57530 100755 (executable)
   </h2>
   <p>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.
+    physical memory, or 32GB - which ever is smaller.</p>
+  <p>
+    This behaviour might not be ideal if you are working on a machine
+    that runs other memory intensive processes, and (<em>since
+      Jalview 2.11.2</em>) can be changed via the <a
+      ref="preferences.html#startup">Startup Preferences</a> panel.
+  </p>
   <p>
     <em>Signs that Jalview is Running out of Memory</em><br /> If
     Jalview has not explicitly told you that it has run out of memory,
     necessary to adjust them if you are working with particularly large
     datasets, or need to make room for other processes on the machine.<br />
     <br />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:
+    configures the proportion of memory allocated to Jalview's JVM. By default it requests up to 90% of available memory whilst ensuring that at least 0.5G is available to the operating system and at least 0.5G is available to the Java runtime platform, or a specified 'maximum memory limit' - which ever is smaller. The amount of memory requested can be altered in a number of different ways:
   </p>
 
   <ul>
-    <li><em><font size="3">JVL file</font></em> <br /> The easiest
-      way to launch Jalview with a different percentage of physical
-      memory available is to create a text file with extension <em>.jvl</em>
+    <li><em><font size="3">Jalview's Startup
+          Preferences panel</font></em> <br /> The easiest way to launch Jalview
+      with a different percentage of physical memory available is to
+      adjust your user preferences via the <a
+      ref="preferences.html#startup">Startup Preferences</a> panel.</li>
+    <li><em><font size="3">JVL file</font></em> <br />Another way
+      to adjust launch settings is with a text file with extension <em>.jvl</em>
       and a single line to specify the percentage of memory you wish
       Jalview to request: <pre>
-      jalview.jvmmempc=50</pre> In 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. <br /> <br /> In Linux or other
-      unix variants you can launch Jalview on the command line and
-      provide your JVL file as an argument with <pre>
-      /PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvl</pre> If 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 <em>jvl</em> file first, e.g. <pre>
-      /PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvl /path/to/alignments/myalignment.fa</pre> Alternatively, you can use the standard Jalview command line
+      jalview.jvmmempc=50</pre> In 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. <br /> <br /> In
+      Linux or other unix variants you can launch Jalview on the command
+      line and provide your JVL file as an argument with <pre>
+      /PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvl</pre> If 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 <em>jvl</em> file first, e.g. <pre>
+      /PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvl /path/to/alignments/myalignment.fa</pre>
+      Alternatively, you can use the standard Jalview command line
       arguments with or without the jvl file (first), e.g. <pre>
-       /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 Clustal</pre> You can use command line arguments to control memory
-      settings in Windows and macOS too: <br /> In Windows you must
-      use, e.g. <pre>
-      \PATH_TO_JALVIEW\Jalview.exe %HOMEPATH%\mymemorysetting.jvl -open %HOMEPATH%\myalignment.fa</pre> In macOS you can use the macOS <em>open</em> command like this: <pre>
-      open /Applications/Jalview.app --args ~/mymemorysetting.jvl -open ~/myalignment.fa</pre><em>(put all the Jalview arguments <em>after</em> the --args
-        parameter)
-    </em><br/><br/></li>
+       /PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvl -open https://www.jalview.org/examples/jpred_msa.fasta -annotations https://www.jalview.org/examples/jpred_msa.seq.concise -colour Clustal</pre>
+      You can use command line arguments to control memory settings in
+      Windows and macOS too: <br /> In Windows you must use, e.g. <pre>
+      \PATH_TO_JALVIEW\Jalview.exe %HOMEPATH%\mymemorysetting.jvl -open %HOMEPATH%\myalignment.fa</pre>
+      In macOS you can use the macOS <em>open</em> command like this: <pre>
+      open /Applications/Jalview.app --args ~/mymemorysetting.jvl -open ~/myalignment.fa</pre><em>(put
+        all the Jalview arguments <em>after</em> the --args parameter)
+    </em><br />
+    <br /></li>
+    <li><em><font size="3">Maximum memory limit</em><br/>
+      Since 2.11.1.0, Jalview's configuration includes a 'maximum memory limit':
+      <pre>jalview.jvmmemmax = 32G</pre>
+      Adjusting this default (via a JVL file, above) will allow larger amounts (or can limit the amount) of memory to be allocated to Jalview in conjunction with the jalview.jvmmempc setting. 
+      <br/><br/>
+    </li>
+    <li><em><font size="3"><a name="jar">Command line arguments when using the executable jar (jalview-all.jar) or jalview.bin.Launcher</a></em><br/>
+      If you are using the Jalview standalone executable jar (usually named <em>jalview-all-....jar</em> with a Jalview and Java version designation) or using <em>jalview.bin.Launcher</em> to start Jalview,
+      then you can set the <em>jvmmempc</em> and <em>jvmmemmax</em> values using application command line arguments <em>-jvmmempc=PERCENT</em>
+      and <em>-jvmmemmax=MAXMEMORY</em> respectively.  <em>PERCENT</em> should be an integer between 1 and 100, and MAXMEMORY should be an amount of memory in bytes, or you can append a "k", "m", "g", or "t" to use units of kilobytes, megabytes, gigabytes or terabytes, e.g.
+      <pre>java -jar jalview-all-2.11.1.0-j1.8.jar -jvmmempc=50 -jvmmemmax=20g</pre>
+      (this example will launch Jalview with a maximum heap size of the smaller of 20GB or 50% of physical memory detected).
+      <br/>The default value for jvmmempc is 90, whilst the default value for jvmmemmax is 32g if Jalview can determine a total physical memory size of the host system, and a more cautious 8g if Jalview is unable to determine a total physical memory size.
+      <br/><br/>
+    </li>
     <li><em><font size="3"><a name="jvm"/>Directly opening Jalview
           with a JVM</font></em> <br /> Launching Jalview directly with a JVM is
       entirely possible, but is not recommended for regular interactive