FAQ: How do I increase the memory in ImageJ?

16-06-2017
1/3
FAQ: How do I increase the memory in ImageJ?
FAQ: How do I increase the memory in
ImageJ?
Yes, the amount of memory available can be increased, up to a limit. It is not a good idea to increase
above 3/4 of the physical memory available, nor should memory be increased on Mac OS 9 or earlier
in most cases (but see the Mac OS 9 details below).
For rather technical reasons, Java applications such as ImageJ have a memory usage maximum that
is set when the program is launched. By default, ImageJ is configured to use around 256 MB
maximum, depending on your operating system. If you are working with large image stacks,
consider increasing the limit to avoid running out of memory.
On 32bits operating systems, Java applications cannot use more than 2 GB of memory because the OS
reserves half the 4 GB address space available on 32-bit processors. In addition, Sun's Java virtual
machine requires a contiguous block of memory. Theoretically, there is no such limitation on a
64bits operating system with a 64-bit version of Java.
Also, some versions of the Java Virtual Machine (such as BEA's JRockit or HP's Java port for HPUX
on Itanium) support larger 32-bit memory limits (between 2 and 4 GB)—but configuring such tools is
beyond the scope of this FAQ.
Lastly, be warned that some people have experienced strange behavior when memory beyond a
certain amount is assigned (typically for values over 1 GB). If the user interface is corrupted, images
do not open properly, or macros and plugins sometimes execute incorrectly, try a maximum memory
value of 256 MB. If it works, increase the number by 100 MB at a time until you find the largest
working value for your machine.
How to increase the memory
Windows 32bit (adapted from the ImageJ website's Windows installation instructions)
32bit versions of Windows are: Windows NT, Windows 2000, Windows 2003, Windows XP,
Windows Vista, Windows 2008
By default, the ImageJ.exe launcher for Windows sets the memory limit to 2/3 of physical memory
(640 MB maximum) the first time it is run.
Use the Edit>Options>Memory command to make more than the default amount of memory
available to ImageJ.
Note that setting the “Maximum Memory” value to more than about 75% of real RAM may result in
poor perfomance due to virtual memory “thrashing.”
The maximum amount of memory that can be allocated is typically about 1.7 GB.
This command modifies the third line in the ImageJ.cfg file in the ImageJ folder, which must be
ImageJ Documentation Wiki - http://imagejdocu.tudor.lu/
FAQ: How do I increase the memory in ImageJ?
2/3
16-06-2017
writable. This is what ImageJ.cfg looks like with “Maximum Memory” set to 700 MB:
.\jre\bin\javaw.exe -Xmx700m -cp ij.jar ij.ImageJ
Windows 64bit
64bit versions of Windows are: Windows 2003 x64, Window XP x64, Windows Vista x64,
Windows 2008 x64
Before installing a new Windows you need to figure out, if your CPU is capable for this. Note, that
all Intel Core2, Dual/Quad Xeons, AMD Opterons, Athlon64 and Phenoms are 64bit CPUs. For all the
other CPUs you have to check…
First you need to install Java 64bit SDK or JRE, e.g.
jdk-6u1-windows-amd64.exe
from Sun, which will be typically installed in 'C:\Program Files\Java\' (and not 'C:\Program File
(x86)\Java\' which is typically used for 32bit applications).
Tweak your ImageJ.cfg to point to the new Java installation and modify your memory settings:
C:\Program Files\Java\bin\javaw.exe -Xmx5000m -cp ij.jar ij.ImageJ
This would allocate 5GB RAM for your ImageJ (note that you should leave some RAM for the OS to
prevent swapping).
Some people have reported an issue on XP64 with OutOfMemoryErrors once 2500 MB memory has
been used, even if a higher maximum has been set in the configuration file. One thing you can try to
fix this problem is to add an AggressiveHeap parameter to your ImageJ.cfg configuration:
C:\Program Files\Java\bin\javaw.exe -Xmx5000m -XX:+AggressiveHeap -cp ij.jar
ij.ImageJ\
Mac
OS
9 and earlier
(from the ImageJ website's Macintosh installation instructions)
Java applications allocate memory from the System heap so there is usually no need to increase the
value of “Preferred Size” in ImageJ's “Get Info” dialog. Strangely enough, allocating more memory to
ImageJ reduces the amount of memory available for loading images! It may, however, be necessary
to allocate more memory to ImageJ to avoid error messages with plugins that use QuickTime for Java.
The Finder's “About this Computer” window is a good way to monitor ImageJ's memory usage.
http://imagejdocu.tudor.lu/
Printed on 2017/06/16 02:32
16-06-2017
Mac
OS
3/3
FAQ: How do I increase the memory in ImageJ?
X.4 (Tiger) (from the ImageJ website's OS X installation instructions)
With ImageJ 1.32 or later, use the Edit/Options/Memory command to make more than 200 MB of
memory available to ImageJ. Setting the “Maximum Memory” value to more than about 75% of real
RAM may result in poor perfomance due to virtual memory “thrashing”. The maximum amount of
memory that can be allocated is about 1.8 GB. Another way to make more memory available to
ImageJ is by running from the command line and using the -Xmx option.
Mac OS 10.4 (Tiger) is not a real 64bit operation system and therefore no 64bit Java SDK/JRE is
possible. As for 32bit Windows the theoretical limit is at 4GB RAM and the practical (due to OS needs)
~2GB for one process.
Mac OS X.5 (Leopard)
Mac OS 10.5, when installed on a 64 bit Intel CPU provides a 64bit version of Java (that was buggy in
the first releases - be sure to have updated your system to the latest version). Apple now provides
Java SE 6 (64bit and Intel-only) through the software updates utility.
Linux
(from the ImageJ website's Linux installation instructions)
To make more than 256 MB of memory available to ImageJ, edit the 'run' script. For example,
changing the script to:
./jre/bin/java -Xmx512m -cp ij.jar ij.ImageJ
makes 512 MB available to ImageJ.
There is no problem running imageJ on linux x86_64 with a 64bit version of java.
From:
http://imagejdocu.tudor.lu/ - ImageJ Documentation Wiki
Permanent link:
http://imagejdocu.tudor.lu/doku.php?id=faq:technical:how_do_i_increase_the_memory_in_imagej
Last update: 2011/02/26 11:31
ImageJ Documentation Wiki - http://imagejdocu.tudor.lu/