From: vimalt on
Hi,
 
I am facing problem of deallocating memory. If before running the project, used memory is X MB, then after running, the used memory should come back around X MB. But I can see an additional 50 MB added to used memory. This is shows that VI(s) are holding memory even after running.
 
VI(s) are using queues, reentrant subvi(s), gobal variables and normal operation functions.
 
I tried deallocating by placing "Request Deallocation" function (which is present in application control-> memory control) inside one of my subvi(s) . But there was no result. May be I didnt use it correctly.
 
Any more suggestions regarding memory deallocation.
 
 
From: JeffOverton on
This is just one possibility, but if you're calling named queues in a loop, and using them in other VIs, they will retain memory space until you expressly release them all (or use the Force Destroy option) or until all of the calling VIs have stopped.  Also, for a broad question like this, it will always be helpful to post whatever code you can.
From: smercurio_fc on
Another likely possibility is that you have indicators that are displaying lots of data. Even after the VI stops running, those indicators require the memory in order to display the data.
From: altenbach on
vimalt wrote:
I am facing problem of deallocating memory. If before running the project, used memory is X MB, then after running, the used memory should come back around X MB. But I can see an additional 50 MB added to used memory. This is shows that VI(s) are holding memory even after running.


Also please don't go on a misguided and useless witch hunt here. Maybe this is a non-issues.
 
Unless (a) the memory does not return after closing the project or (b) the memory footprint increases by another 50MB every time you run the program, there is no problem.
 
Most likely it would be much less efficient if LabVIEW would release these 50MB, just to reallocate them again the next tiem you run the code again.
 
What makes you think that there is a problem? Do you get out of memory errors? excessive swapping? Performance issues? Most likely you're a barking up the wrong tree. Trust me. :)