Jump to content

Upgrade LV2017 => LV2021 : Windows 10 memory increase


Recommended Posts

Hello everyone,

I need help figuring out what is going on and what I am doing wrong. I have benches with windows 10 and labview 2017. No problems, the benches are working fine. I want to upgrade to labview 2021, and the surprise, the memory increases.... I isolated the vi that increases the memory (Instr_FGV_MesuresVrac.vi), but I don't understand why? Can you help me and explain why? 

I think it this part of the code :

Image.png.30917186f5402d99dd87d4fb3db6ab29.png

In my general code I initialize the vi at startup and then I have 3 loops that SET always the same measurements and one that GET. There is no addition of measurement channels. I have 2 tables of 30 measures. This code is use on other computer with windows 10 and Labview 2021 and no problem, but in some computer I have problem... :(

Best regards

PB Labview.zip

Link to comment

@Gribo I don't have the same numbers of channels in the table "MESURES" (inputs channels) and "RETOUR CONSIGNE" (outputs channels). Why is suspect?

This functional variable global is use in all the acquisition loops. it centralizes the measurements that come from different types of acquisitions. Example : 

- One loop ask diverter in Modbus and update the modbus channels

- One loop ask ethernet mainboard and update the associates channels

- One loop ask NI board etc... 

Link to comment

Those VIs are quite simple.  If there is a memory leak in that simple of a VI then you need to open a support ticket with NI so it can be fixed in a patch.  I see things I would change about the VIs, but nothing that should affect memory.  Like the terminals should be on the root of the diagram for subVIs.

(Also are you doing work for Magna?  I used to work at a couple of their divisions)

Link to comment

@hooovahh thank you for your reply. Yes it's a very simple VI, it's for that I don't understand. I do not have the problem when I make an *.exe.... it's strange... 

I don't understand your sentence "Like the terminals should be on the root of the diagram for subVIs"? The command "Value et noms IN" out of the IF structure? The string array does not need to be re-indexed with the element structure in place... It's an old VI. We asked a specialized company to develop our acquisition. There are a lot of things I would like to change... everything in fact and start again on a good basis. But I am running out of time...  I'm not sure this FGV is a great idea. 

what is the best solution to combine several different acquisitions on different devices? That is the question !

 

Yes I work for Magna, how do you know? I make hydraulic bench for us. We have actually a cold and hot water generator and 3 endurances benches in construction ! 

What company do you work for?

Link to comment
22 minutes ago, Gribo said:

The next question is what removes measurements from this array? Except the INIT command, there is nothing that reduces its size. Over time, with new measurement names, it will always increase in size.

Yes I an agree with you, but it is always the same measurements with the same names. I replace the value and I never add new value. I add new value only at the begenning. A new channel voicie, OK I update my table size, but after it's just replace. I already add table size to be sure it's not increase. And the size don't increase

Link to comment

This appears to be a known issue in LabVIEW 2021 SP1.

Quote
LabVIEW 2021 SP1 causes an increase in the memory usage of some applications unnecessarily over time. 
 

Workaround:

You can disable the performance optimization which caused the memory leak by adding "MemoryManger.UseMasterPointerPool = FALSE" to the LabVIEW INI file. LabVIEW 2021 SP1 f1 patch fixes the issue by disabling the performance optimization by default.

https://www.ni.com/de-de/support/documentation/bugs/22/labview-2021-sp1-known-issues.html

Edited by LogMAN
  • Like 2
Link to comment
48 minutes ago, Francois Aujard said:

I don't understand your sentence "Like the terminals should be on the root of the diagram for subVIs"? The command "Value et noms IN" out of the IF structure? The string array does not need to be re-indexed with the element structure in place... It's an old VI. We asked a specialized company to develop our acquisition. There are a lot of things I would like to change... everything in fact and start again on a good basis. But I am running out of time...  I'm not sure this FGV is a great idea. 

SubVIs that are called as a function, and don't have the terminals change value after entering the VI, should have the terminals on the root of the diagram, not in sub diagram structures.  This is because the compiler can't know if these terminals changed value from the last time they were used, and so it will read them again.  If it is on the root of the diagram it reads it when it enters the VI and never needs to read it again.  Same with indicators.  These should be on the root of the diagram and I think the CLD takes off points if it isn't.

https://forums.ni.com/t5/LabVIEW/Community-Nugget-Wired-Terminals-in-Subdiagrams-Clearing-up-the/td-p/2093252

But it is a very minor thing, I just mentioned it as something I'd change, but not something I would expect to affect memory.

I worked at Magna Electronics, Magna E-Car, and I think Magna Powertrain was in there somewhere as divisions changed and were absorbed.  Making validation and verification test systems for various automotive components like running boards, inverters, chargers, power control modules, and cameras.  Good times until it wasn't.  I knew this was related because it gave a loading warning that VIs were loaded from a new path, and the old path had Magna in it.

  • Thanks 1
Link to comment

Hi

NI is messing with the LabVIEW compiler. A memory leak would just be the latest.

They started by eliminating the Hybrid Compiler, introduced in LabVIEW 2010 SP1, in LabVIEW 2019 to make development simpler but it appears to just progress in the wrong direction for every new LV version.

They also started messing with the icons when beautifying project libraries in LabVIEW 2021. They haven't solved it yet, it seems. See NI Forum thread NI Library Icon problems in classes.

Is there a development pattern here ..

Regards

  • Thanks 1
Link to comment

Hi again

I forgot to make a conclusion how to avoid this problem.

I avoid the problems related to odd LabVIEW development issues by sticking to LabVIEW 2018 SP1. No essential issues observed.

For those not developing large VI's with a horrendous complexity then LabVIEW 2020 may be the sweet spot.

The jury is still out whether LabVIEW 2023 Q1 is a good release. The previous had issues. One CEO simple stated he won't allow 2021 in his company. 

This is a serious problem with anything newer than LabVIEW 2018 SP1 :

image.png.97bfe300890312b6e0c34ae15e94e04e.png

The two questions we have to ask when presented with a new LabVIEW release :

- What did they improve ?

- What did they screw up ?

Regards

  • Confused 1
Link to comment
On 3/4/2023 at 4:13 AM, HYH said:

Hi again

I forgot to make a conclusion how to avoid this problem.

I avoid the problems related to odd LabVIEW development issues by sticking to LabVIEW 2018 SP1. No essential issues observed.

For those not developing large VI's with a horrendous complexity then LabVIEW 2020 may be the sweet spot.

The jury is still out whether LabVIEW 2023 Q1 is a good release. The previous had issues. One CEO simple stated he won't allow 2021 in his company. 

This is a serious problem with anything newer than LabVIEW 2018 SP1 :

image.png.97bfe300890312b6e0c34ae15e94e04e.png

The two questions we have to ask when presented with a new LabVIEW release :

- What did they improve ?

- What did they screw up ?

Regards

I am not the one confused by this post, but I have to wonder: with a 17 MB BD and a code complexity of 18.1, maybe considering breaking stuff into subVIs and refactoring is in order?

In my case, this tool was helpful in setting priorities: https://www.abcdef.biz/pi_free.htm

Link to comment
20 hours ago, Francois Aujard said:

@HYH Thank you very much for your reply. I upgrade Labview 2017 to Labview 2021 next year, and your message does not reassure me :(

 

 One CEO simple stated he won't allow 2021 in his company. Who is it? 

 

Best regards

There is this interesting blog on Linkedin

https://in.linkedin.com/posts/jimkring_upgrading-to-new-labview-versions-is-for-activity-6972085040700686336-5gGw?trk=public_profile_like_view

Lapsus : the person in question is CTO not CEO.

Regards

  • Thanks 1
Link to comment
On 3/3/2023 at 5:06 PM, hooovahh said:

I worked at Magna Electronics, Magna E-Car, and I think Magna Powertrain was in there somewhere as divisions changed and were absorbed.  Making validation and verification test systems for various automotive components like running boards, inverters, chargers, power control modules, and cameras.  Good times until it wasn't.  I knew this was related because it gave a loading warning that VIs were loaded from a new path, and the old path had Magna in it.

@hooovahh your are "sherlock holmes" 🙂. I don't know exactlly what Magna represents. I just know our hydraulic benches (taps and cartridges testers) are in West Egypt. Magna is a middleman (reseller, intermediary, I don't sure of my word)...

For my problem, the patch f1 of the Labview 2021 SP1 version seems solves it. I don't know why the informaticien don't installed me the last version 😒... I think he install a ghost of a hard drive. 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.