Hi, This is Lee.
I got very serious problem.
I'm, trying to build real time data logger.
But I found that there is a memory leakage while I writing TDMS files.
Let me explain further.
Please Look in to my project I uploaded.
There are program under real time target. Title is "untitiled.vi"
As you see, I think there are no memory accumulation component...
But If I run that VI like 12 hours....there are slightly consuming patteren.
Run Loganalizer.vi. or you can check memory.jpg.
I don't know why, but after it loses 17kBytes of memory.
Well...17 kBytes of memory is not a big deal right now, but I'm planning to run this logger like 2 months.
This will eventually crash by memory loss.
Thanks in advance.
Solved! Go to Solution.
What do you mean by the memory leakage, did you see the memory increasment when you running the VI without stop it? Or did you see the memory leakage after you running the VI for 12 hours and STOP the running?
If after stopping running you still see 17 KB memory "leakage", then what about you close the VI? Since it's possible that VI itself maybe allocates some memory usage when running.
First of all, thanks for your interest.
I can watch memory leakage while I running that VI.
I just logging file copy to my desktop and analyze.
If I stop, well.....I don't know how check Real time machine memory when everything stopped. 😞
I'm running VI at real time(cRIO-9022), so the situation is quite different running at desktop pc.
Did you mean that check memory at task manager?(like windows XP style)
I don't know whether real time has a task manager or not.
Real Time should have a similar tool as Task Manager which can watching the memory and CPU usage of RT target, which version of LabVIEW and LVRT you are using?
While I'm checking now, Please Look at this picture.
I made a data logger. It streams data to TDMS ,close TDMS and reopen new TDMS in two hour interval.
As you see, Memory keep consumed when I open and close.
Even worse, it's not so periodically occurs.
Check the graph you can see that memory consuming stops some point while I keep doing open and close TDMS.
I'm a little curious how you monitor the memory usage, you mentioned: " Run Loganalizer.vi. or you can check memory.jpg.", I opened LogAnalyzer.vi but didn't find it's monitoring the memory usage, right? It's just TDMS Read reading out some data from a file...Are you talking about the physical memory usage of target or the data from TDMS Read?
I've done following.
1. Run Attached VI in real time platform.
2. Get logged TDMS file via FTP.
My Real-time target memory is licking. While I just write and delete TDMS file.
Please confirm, what do you mean by "leak"? Does this mean the memory usage increment when you running this VI?
Yes. It means 'constantly consumption memory'.
I don't know why but It just consumes memory constantly.
I'm so worried if that happens constantly, my logger eventually crash because of memory loss.
Thank you! 🙂