Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

RT memory management: strings & Arrays

David,

 

I modified the VI I have been using to trace my apparant memory leak (which as it turns out is not a leak after all). I put a 1s while loop after "obtain queue" with the "post Q" used memory poll inside the while loop, exit via manual boolean.. The used memory is dead stable while its in this while loop. Once I exit the loop, it twitches a bit (assuming Pre-alloc was false, and that "stress DC" is false). If I set the enqueue limit to 1 and the delay to 500 ms (for example) then turn on the "stress DC", memory immidiately starts to grow, in steps, once for every enqueue. I attached the new version to this post for completeness sake with a "2" appended to the name.

 

So, unless the initial memory allocation takes substantially more than 10 seconds to complete, it is not a matter of obtaining queue returning prior to the complete allocation taking place; the complete allocation simply never happens. 

 

That is at least the way I am interpreting what I'm seeing..

 

(as far as "asking to much" that happened during one of my accelerated tests when I was playing with the max queue size input, I agree, you need to be careful with this in a deployed application. Also, this goes against the AE's suggestion to set the max size to an arbitrary large number to avoid mem-alloc activity.)

QFang
-------------
CLD LabVIEW 7.1 to 2016
0 Kudos
Message 21 of 22
(972 Views)

NI's AEs don't develop production code. I would never take their advice on how to do so.

0 Kudos
Message 22 of 22
(967 Views)