LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

NSV References do not close properly

23826i564080B84C1ED418

 

I use this code block to initialize a library of NSV.  I have found that depite the fact that I am closing

all NSV references I notice that my cpu usage increases when  I restart the top level RT app that contains this code block.

If between runs I undeploy and redeply the NSV library then cpu usage returns to nominal.  Also if I add another loop that attempts to

close all the NSV references a second time at the end of my app then cpu usage will not increase between runs.  This suggests that the first

close reference is not completely correctly even though no error is generated.  Has anyone seen anything like this before?

0 Kudos
Message 1 of 5
(3,043 Views)

@sachsm wrote:

23826i564080B84C1ED418

 

I use this code block to initialize a library of NSV.  I have found that depite the fact that I am closing

all NSV references I notice that my cpu usage increases when  I restart the top level RT app that contains this code block.

If between runs I undeploy and redeply the NSV library then cpu usage returns to nominal.  Also if I add another loop that attempts to

close all the NSV references a second time at the end of my app then cpu usage will not increase between runs.  This suggests that the first

close reference is not completely correctly even though no error is generated.  Has anyone seen anything like this before?


Yes.

 

The resources resrved when we open SOMETHING remain reserved by LV even after they are closed. This speeds things up and avoid crashes when trying to access something using a closed ref.

 

It is only when lV stops that the resuources are released.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 2 of 5
(3,031 Views)

Ben - I am talking about resources and/or SVE registrations that seem to survive both the reference being closed and the VI terminating.

Also, closing the reference a second time has an effect, what's up with that?

0 Kudos
Message 3 of 5
(3,025 Views)

Aside from a lame attempt to hide my ignorance ( I never claimed to know everything Smiley Wink ) all  I can say is it sounds like the library is staying deployed but why the second close makes a difference...

 

I will of course watch for updates from others that may know more.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 4 of 5
(3,021 Views)

Actually NSV library deployment is designed to persist between RT reboots and is something that on RT platforms must, unfortunately, be done manually from the project or reimaging the target.

Opening a reference to a deployed NSV gives you a tranaction ID to use to interact with the SVE.  It appears that something in the registration process can also persist between reboots which can result in subsequent SVE transactions taking up extra cpu bandwidth, until the NSV library is manually undeployed/redeployed or programmatically the references are closed a second time.

0 Kudos
Message 5 of 5
(3,015 Views)