Large Address Aware Flag
If you are running a 32-bit process, you can increase the amount of memory available by configuring TestStand to be large address aware. Enabling the Large Address Aware flag will increase the maximum available memory to 3 GB for a 32-bit Windows OS, and 4 GB for a 64-bit Windows OS. For more information, refer to Use Large Address Aware Flag for 32-Bit TestStand Processes.
Because memory limitations are imposed on each process individually, you can use out-of-process execution to increase the amount of memory available to the test system. Executing a portion of test code in a separate process will allow that code to access a separate memory space from the memory being used by the rest of the test system. There are several ways in which you can implement out-of-process execution in your test system architecture.
Execute Code Modules Out-of-Process
If your test system contains code modules which require a large amount of memory, configure the code modules to execute out-of-process to access a separate memory space from the TestStand process itself. This increases the amount of memory available to the code modules and lessens the likelihood that an out-of-memory error will occur during execution.
The LabVIEW and LabWindows™/CVI™ module adapters can be configured to execute code modules out-of-process. For more information, refer to Use 64-Bit TestStand to Execute 32-Bit LabVIEW Code Module.
There are two downsides to configuring the adapters to execute code modules out-of-process:
- Execution Speed – Executing code modules out-of-process is typically slower than executing code modules in-process. Out-of-process execution requires the TestStand Engine to communicate with the external process to instruct it to execute code.
- Licensing – The development version of LabVIEW or LabWindows/CVI must be installed on the test machine to execute code modules in one of these environments. This requires a development license for each test machine.
Execute a TestStand Sequence Out-of-Process
In TestStand 2014 and newer, you can configure a test sequence to execute out-of-process in a separate instance of TestStand running on the same computer, which allows the sequence to access a separate memory space from the original TestStand process. You can also use this approach to execute a sequence in the opposite bitness of TestStand, although this approach requires both 32-bit and 64-bit TestStand to be installed on the computer. For information, refer to Execute TestStand Sequence Across Bitness.
Note: Using remote sequence calls to execute test sequences out-of-process has a performance penalty compared with in-process execution. It is also more difficult to debug a sequence executing out-of-process.