Select the Performance button in the Preferences tool to open the Performance preferences. If you have experienced an “out of memory error,” please scroll down to “Memory Management,” below.
GUI (Java) Threads
This integer tells FlowJo how many threads the Graphical User Interface should open at the start of the program. This preference requires that the program is restarted in order to be updated. We recommend the default setting, calculated by FlowJo based on your computer’s resources. Most notable result of this preference will be in layout editor batching.
Engine (C++) Threads
FlowJo’s Engine handles all reading and writing of FCS data, and performs all calculations and manipulations of the data while in memory. The default setting is (number of processors +1), you may wish to increase this number or launch more Engines (via the Dispatcher preference.)
Max Sample Cache Data size (Mb)
This is the maximum amount of FCS data that can be stored in memory. If exceeded, some files get booted out of memory. We suggest to set this to ~1/2 times the total RAM installed on the computer. On a PC, the default value here is set to work for a computer with minimal installed RAM (default setting is 7372 mb), and can be adjusted accordingly if more RAM is installed.
I/O Buffer size (Bytes)
This is how much data an Engine will read at each cycle. For faster computers / faster hard drives, feel free to increase this setting if increasing the number if engines does not help.
Set the Sample Request Cache size (Mb)
This is the number of request/response pairs that FlowJo keeps in memory so it does not have to do the work again. By default this value is set to 2000 Mb.
If 32GB of RAM is installed, set this value to 4000.
If 64GB or RAM is installed, set this value to 8000.
Enable Fast Preview:
This allows the user to set the number of events that are initially displayed while FlowJo is trying to calculate all of the events in a plot.
Keep Sample Cache Folder:
This option will prevent FlowJo from deleting its cache folder where it keeps samples and plugin analysis performed in an acs file. This option is typically only used for trouble shooting. Pressing the “Show BDRC Cache” option will take users to the folder where the temporary files of a BDRC analysis are stored.
Cache Boolean Gates:
Selecting this option saves information about boolean gates in memory so that FlowJo does not have to recalculate them if those booleans are needed for subsequent calculations. Ticking this option may help workspaces with a large number of boolean populations calculate gating trees faster, but it may also use more system memory when performing the calculations.
Memory Management in FlowJo
If you have encountered an “out of memory” error or you would like to increase the performance of FlowJo, it is important first to understand that there are two memory pools in FlowJo: (1) client and (2) engine.
The client, which is best thought of as the graphical user interface used to display data, analysis results, and make calculation requests to the engine, holds on to figures and other representations of samples. The Engine holds on to samples so that it may quickly have access to sample data for its calculations. Before treating “memory” problems, we recommend that determine which type of memory issue needs addressing, while realizing it could be “both”.
- Engine memory issues manifest as “disk shredding” but a (reasonably) responsive client/user interface.
- Client memory issues manifest in a “FlowJo has ran out of memory” dialog.
The approach to treating memory problems depend on the situation:
- A note about 32-bit machines: Memory management in 32 bit machines ships “maximized” and there is no way to “increase” it. (Please see this FAQ from Microsoft for how to determine your bit-ness.)
- To increase engine memory, go to the Performance tab in preferences (shown above). This sets the tone for how the engine uses the available memory of your computer. Our recommendation is that (1) you close out other programs in use and (2) you set your Max Sample Cache Data size to as high as possible, so that the engine can store as much sample data as possible for quick access. (Note that FlowJo needs to be restarted when these settings are changed.)
If you would like help with memory management, please send us an email – email@example.com.