LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Low free ram

Hello everybody!

 

I was wondering if somebody had this problem that i am having (LV 2011 32-bit, 6 gb ram,win7 64-bit)

 

I am using PCL library to acquire the data stream from the Kinect sensor (x,y,z and rgb channels). I am calling this library in my Labview program.

 

When i am saving the data to hdd my disk transfer rate is not high enough to save data to hdd in real-time (around 50 MB/sec just for this data) . Instead it writes the data to free memory. All good, but the problem is that i have very little free memory available (around 500 MB) when i check the task manager. But the available memory is around 3000 MB. As i save, it is obvious that only free memory is used, because it gradually drops to 0 and the available memory stays around the same numbers... The free memory then never recovers, only if i reboot. What is the difference between free and available memory in win7? What is this memory available for then if not for the user???

 

Can i use the available memory for saving instead since its much larger?

 

I really don't understand this! If anybody could shed some light on this, it would be appreciated.

 

Thank you and best regards.

 

K


https://decibel.ni.com/content/blogs/kl3m3n



"Kudos: Users may give one another Kudos on the forums for posts that they found particularly helpful or insightful."
0 Kudos
Message 1 of 4
(2,695 Views)

Hello Klemen,

 

In first of all, because you use LabVIEW 32 bit you are limited to up to 4GB of memory RAM that are accessible, even if you have 6GB installed on your PC.

You can find more information here: http://digital.ni.com/public.nsf/allkb/71E9408E6DEAD76C8625760B006B6F98

 

Another thing is that you are using a lot of memory but not dealocating it. You can use the VI from LabVIEW "dealocate memory"

Using this VI should help you release the memory used without restarting LabVIEW every time you run your application.

 

Kind regards,

Ion R.

Message 2 of 4
(2,677 Views)

Hello!

 

I am really sorry for the late answer...

 

Your suggestion helped resolving some other minor issues i had. No significant improvement in real-time processing though.

 

I am aware that i can only use 4 GB of memory in 32-bit Labview, but by running 64-bit Windows the 2GB+ makes some difference. For once, I still have more memory free for LV as opposed to 32-bit Win platform, since Win7 is a memory hungry OS.

 

Did some other improvements, mostly regarding loops iterations and optimizing the code. It runs decent enough, achieving around 25 FPS stable on my mid-range laptop...

 

Thank you for your suggestion and help.

 

Best regards,

 

K


https://decibel.ni.com/content/blogs/kl3m3n



"Kudos: Users may give one another Kudos on the forums for posts that they found particularly helpful or insightful."
0 Kudos
Message 3 of 4
(2,649 Views)

Another issue that may be affecting you is while there is a large amount of memory available in total, it doesnt mean its in one large block. so memory optimisations and forceing deallocations will hopefully make these blocks larger and easier for your code to fit.

 

Hope it helps

 

TD 

Please remember to accept any solutions and give kudos, Thanks


LV 8.6.1, LV2010,LV2011SP1, FPGA, Win7
0 Kudos
Message 4 of 4
(2,644 Views)