Error -1074396159 Not Enough Memory for Requested Operation While Using NI-IMAQ/IMAQdx VIs

Updated Nov 18, 2022

Reported In

Software

  • Vision Development Module

Driver

  • NI-IMAQ

Issue Details

When I attempt to acquire a very large image, such as 2,000 x 160,000 pixels, I receive the following error:
Error -1074396159 Not enough memory for requested operation.

My computer has plenty of memory available, so why am I getting this error?

Solution

The same error message can occur on different NI-IMAQ/IMAQdx VIs.
Depends on the operating system and LabVIEW bitness there are different memory size, which LabVIEW can allocate. 
More specific information regarding the memory which LabVIEW can allocate on a different bitness of operating system, you can find in this How Much Memory Can LabVIEW 32-bit or 64-bit Allocate?  article. 

There must be enough contiguous free memory available to accommodate an image when it is acquired. If the system does not have the required amount of contiguous free memory, then the image cannot be created.

There are a few options, which could solve the issue, described below:

1) One way to improve the chances that a large enough contiguous memory block exists is to remove as many startup applications as possible, then reboot the machine. With many programs loaded, fewer large contiguous memory blocks are available

2) If the option described above does not give a necessary result, try to remove from the project all unuseful VIs, etc.

3) At the end, if the steps, described above does not help, and if you are using LabVIEW 32-bit, running the program on LabVIEW 64-bit, which can access more memory, could be a workaround.

Additional Information

Whether there is enough contiguous free memory is handled by the Operating System. When NI-IMAQ/IMAQdx requests a block of memory, the Operating System either replies with an address to the memory location or denies the request due to insufficient resources.