Home → Techniques and Tips → @RISK Performance → Memory Used by @RISK Simulations
Applies to: @RISK for Excel 5.x–7.x
How much memory is used during a simulation?
@RISK saves the values of each output, each input (unless you have changed the default on the Sampling tab of Simulation Settings), and each cell referred to by a statistics function such as RiskMean( ) or RiskPtoX( ). The memory required is 8 bytes per value per iteration per simulation. However, to avoid overflowing 32-bit Excel's limited memory space (below), @RISK pages data to disk as needed.
@RISK needs additional memory for its own code and for data other than the iterations of simulation inputs and outputs. To get an idea of overall memory requirements for your simulation:
In Simulation Settings » General, change Multiple CPU to Disabled and run a simulation with the number of iterations unchanged.
When the @RISK progress window shows iterations being run, open Task Manager (Ctrl+Shift+Esc) and look in the Commit Size column to see how much memory Excel.exe is using.
You can then shut down the simulation with the "stop" button in the progress window.
When you re-enable Multiple CPU, the master CPU will use about this much and each worker CPU will use somewhat less.
When I disable Smart Sensitivity Analysis, my simulation starts faster, but does it also reduce memory use?
Yes and no. After running a Smart Sensitivity Analysis, @RISK saves the results of the precedent tracing but frees the memory used for the trace. So there is no appreciable memory saving once the simulation starts.
However, if your model is large and complicated enough, @RISK could run out of memory during the process of tracing precedents. In that case, turning off Smart Sensitivity Analysis will bypass precedent tracing and the associated out-of-memory condition.
I have heard that Excel has a memory limit of 2 GB. Does @RISK have such a limit?
Well, sort of. 64-bit Excels have effectively no limit to memory space. The part of @RISK that runs in the Excel process shares in this. The part of RISK that is separate executables, such as the model window and progress window, used to be subject to the 2 GB limit, but as of @RISK 7.5.2 those executables are Large Address Aware (next paragraph).
As for 32-bit Excel, it's complicated. Historically, every 32-bit process, including 32-bit Excel, was limited to 2 GB of address space. However, during the year 2017, updates to Excel 2013 and 2016 gave 32-bit Excel the ability to access 4 GB of memory space when running in 64-bit Windows, or 3 GB in 32-bit Windows. See Large Address Aware in Should I Install 64-bit Excel?
If you are using multiple processors, then each Excel process has a separate memory limit, so in 32-bit Excel the overall simulation can use up to 2 GB (or 3 or 4 GB) times the number of processors. Add to that whatever is used by executables whose names start with Pal or Risk. If you want to limit the number of processors used by a simulation, please see CPUs Used by @RISK.
All the above is subject to additional constraints. Not all the RAM in your computer is available to Excel and @RISK: the operating system and other running applications need some as well. You should make certain that you've allocated enough virtual memory. On the Processes tab of Task Manager, you can see how much memory is in use by which processes.
Does @RISK take advantage of 64-bit Excel?
The great majority of simulations run just fine in 32-bit Excel and @RISK and do not see significant benefit from switching to a 64-bit platform. If your simulation generates gigabytes of data, and you have enough RAM to hold it all, you may see some benefit. Please see Should I Install 64-bit Excel? for more information.
See also: "Out of Memory" and "Not enough memory to run simulation" for techniques to reduce the memory used.
Last edited: 2018-02-12