LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview 2010 High Memory Usage

Hi,

 

We have recently moved from Labview 8 to Labview 2010. We have not modified our any VIs.

But Labview 2010 is taking using very high memory, more than 600 MB (Private Bytes). This results in few crashes as well.

 

During this analysis we ran UMDH tool to analyse the possiblity of memory leak.

We are seeing larger memory allocation from the following functions/might be posssible function which causes the memory leak:

 

1. ArrayToTable

2. DBConvertVarToData

3. StatVIRefReserve

4. GetLVVariantTDForDotNet

 

We are using Indicators which displays larger size of arrays, it appears that these arrays are not cleaned up properly by Labview.

 

Please help us in resolving this issue.

 

 

 

 

 

 

 

 

0 Kudos
Message 1 of 7
(2,495 Views)

Hi,

 

you have some debugging tools, like "Show buffer allocation", available in LV! Did you try them?

Did you try to look at the VI properties to find the VI using so much memory?

 

And yes, ArrayToTable might use a lot of memory...

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 7
(2,482 Views)
  • Did you save the VIs in LabVIEW 2010 before benchmarking or are you running the freshly upconverted VIs that are still version 8 on disk?
  • You say "more than 600MB" for LabVIEW 2010. Do you also have a typical number for LabVIEW 8?
  • Did anything else change (computer, OS, windows theme, etc.)

@ghegde wrote:

We are using Indicators which displays larger size of arrays, it appears that these arrays are not cleaned up properly by Labview.


  • What is "large"?
  • What kind of indicators? (graphs, charts, tables, numeric arrays, etc.)
  • Are the indicators wired directly or do they also exist as local variables and/or value property nodes?
  • What do you mean by "cleaned up"?

Can you give a more detailed example on what your program does and what it displays?

 

0 Kudos
Message 3 of 7
(2,477 Views)

Thanks GerdW.

 

I don't have any debugging tool which shows the "Buffer allocation"

0 Kudos
Message 4 of 7
(2,439 Views)

Hi ghegde,

 

you really should have this tool as it is included even in the base version!

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 5 of 7
(2,433 Views)
  • Did you save the VIs in LabVIEW 2010 before benchmarking or are you running the freshly upconverted VIs that are still version 8 on disk?

  Actually we did mass compiliation of Labview 8 files in Labview 2010 IDE. For broken vis, we have modified to fix the issues and saved them in Labview 2010 IDE

 

  • You say "more than 600MB" for LabVIEW 2010. Do you also have a typical number for LabVIEW 8?

 In Labview 8, we see around 250MB consumption

 

  • Did anything else change (computer, OS, windows theme, etc.)

yes, We have changed Hardware from Dell 2950 to Dell R710 server

OS from windows 2k3 to window 2008 standard os,

 

 

  • What is "large"?

Maximum array size is 2 dimensional size with 50X 1024

 

 

  • What kind of indicators? (graphs, charts, tables, numeric arrays, etc.)

we use most of controls & indicators provided by Labview and also some times we customize the provided controls.

 

  • Are the indicators wired directly or do they also exist as local variables and/or value property nodes?

Those indicators are used directly , local variables, property nodes, reference variables also

 

  • What do you mean by "cleaned up"?

    Memory cleanup

 

 

0 Kudos
Message 6 of 7
(2,424 Views)

> Maximum array size is 2 dimensional size with 50X 1024

 

50x1024 arrays are realtively tiny. How many of those do you have? Are tehy fixed size of does the size change constantly?

 

 

> For broken vis, we have modified to fix the issues and saved them in Labview 2010 IDE

 

What kind of modifications were done to "fix" broken upgrades?

 

 

> Those indicators are used directly , local variables, property nodes, reference variables also

 

What is a "reference variable"? These local variables and property nodes cause additional data copies in memory. Are they really needed? Have you tried putting the bulk arrays into data value references?

 

 

> Memory cleanup

 

For subVIs, there is "request deallocation", which should be used with great caution, because deallocating memory that will need to be reallocated a nanosecond later is very expensive.

0 Kudos
Message 7 of 7
(2,408 Views)