LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Teo7

Release as much memory as possible before initialising an executable build process.

Status: Declined

Any idea that has received less than 3 kudos within 3 years after posting will be automatically declined.

I work on a 32bit computer with 4GB of RAM.

My application has grown to a size, which causes LabVIEW to throw up an "out of memory" message and simply hang (eventhough there appears to be a whole Gigabyte of RAM still available).

 

This occurs consistently, each and every time I run an exe build, unless I completely close and re-open the project file before I initiate the exe build process (the issue still occurs sometimes even in that case).

When LabVIEW hangs, the only option is to "kill it" through the Task Manager, which is a painful waste of time.

 

Suggestions:

LabVIEW should be able to handle situations like the one I ave described rather than simply crash.

LabVIEW should be given the ability to unload all VIs from memory and release as much memory as possible before an executable build process begins. Perhaps the user should be given the option to select this when initialising an exe build.

5 Comments
JKSH
Active Participant
I think it would be nice to have a general "unload all from memory" feature. There are times when I close a project, but LabVIEW still hangs on to the file resources and I'm unable to move/delete my folders until I close LabVIEW completely. On a side note: Are you sure you have 4 GB of RAM? 32-bit Windows can only use 3 GB max -- the 4th is unused.
Certified LabVIEW Developer
Teo7
Member

Yes that is correct. To clarify this, the issue begins as soon as the RAM loading hits 2GB despite the fact there is still one GB available to reach the limit which is 3GB. The 4th GB is obviously not utilised by the 32 bit Windows system.

fabric
Active Participant

@Teo7 wrote:

Yes that is correct. To clarify this, the issue begins as soon as the RAM loading hits 2GB despite the fact there is still one GB available to reach the limit which is 3GB. 


I believe that any one program may only use half the total 4GB of RAM on win-32... That's best case!

 

In practice, you're lucky to hit 2GB.

JKSH
Active Participant

fabric is right. Quoting Intel's Memory Limits for Applications on Windows article:

 

"Note that on 32-bit Windows, the sum of all types of data must be 2GB or less.  The practical limit is about 1.75GB due to space used by Windows itself"

 

I doubt LabVIEW would be able to do anything about that.

 

But anyway, back to the original suggestions:

  • I agree that all applications should handle out-of-memory errors gracefully.
  • I, too, would like to have the ability to unload VIs from memory implemented. However, it should be extended to allow unloading selected VIs/XControls/etc. on demand, not just before compilation. (Of course, unloading a VI would also unload those that depend on it)
Certified LabVIEW Developer
Darren
Proven Zealot
Status changed to: Declined

Any idea that has received less than 3 kudos within 3 years after posting will be automatically declined.