LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

memory management

I am doing data acquisition using a cDAQ9172 using analog and digital input cards. I am aquiring 17kB of data each second which gets written to tdm file. The write tdm file express VI is set to create a new file every 1 hour (1 hour at 17kB/sec = 61MB file size). My computer has 760MB of RAM and a page file size of 1536MB.
 
This program needs to run for at least 12 hours and must save all aquired data in tdm format creating 12 files of about 61Mb each.
 
When I run this program windows runs out of memory in about 3 1/2 hours and brings up a 'Windows has run out of vitual memory' error. In the windows task manager  I can see the page file has increased  to 2,170 MB (Maximum is set to 2,305 MB). In the 'process' tab I can also see LabVIEW.exe constantly increasing its memory usage. I have used LabVIEW's 'Profile Performance and Memory' tool, but all vi's within my program remain consistant from when the program is started.
 
It appears that when writing data to tdm file that the memory is not dealocated until the program is stopped, even after it has been written to file and is no longer needed. Is there any way to release this memory within my VI? Are there any setting in LabVIEW which I can change the way the program uses memory?
0 Kudos
Message 1 of 2
(2,524 Views)


@Danny M wrote:
 
It appears that when writing data to tdm file that the memory is not dealocated until the program is stopped, even after it has been written to file and is no longer needed. Is there any way to release this memory within my VI? Are there any setting in LabVIEW which I can change the way the program uses memory?



Try using the Request Deallocation icon from the Functions -->> Advanced -->> Data Manipulation pallette, at the end of each file-writng VI, as you ve mentioned in your query.

I hope tis suffices... Smiley Wink

- Partha ( CLD until Oct 2027 🙂 )
Message 2 of 2
(2,516 Views)