LabVIEWForum.de
Änderung von großen Cluster (Type Def.) führt zu out of Memory exeption - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Änderung von großen Cluster (Type Def.) führt zu out of Memory exeption (/Thread-Aenderung-von-grossen-Cluster-Type-Def-fuehrt-zu-out-of-Memory-exeption)



Änderung von großen Cluster (Type Def.) führt zu out of Memory exeption - spacz - 24.10.2019 08:51

Werte LabVIEW-Freunde,
ich brauche mal wieder dringend eure Hilfe.
Über die Zeit ist meine Software mit etwa 1500 VIs recht groß geworden. Da ich es nicht besser wusste habe ich damals jedes VI mit Control/Indicator ausgerüstet, welches ein großen Cluster mit allen Variablen durch das Programm schleift.
Dieses Type Def. Cluster beinhaltet etwa 4 weitere Type Def. Cluster welche zur Übersicht beitragen sollten. Bis auf ein langes speichern beim hinzufügen neuer Variablen gab es keine Probleme.

Nun wollte ich nach langer Zeit etwas aufräumen und nicht mehr genutzte Variablen entfernen. Jedoch steigt der RAM bei der Prozedur auf etwa 2800mb beim öffnen des Projektes. Beim anschließendem Öffnen vom Main.vi gibt es dann eine schon fast erwartete out of memory exception.

Im Normalfall wird beim laden vom Projekt schon etwa 900 mb genutzt...

Ich habe schon viel versucht, komme jedoch nicht weiter und hoffe mal wieder sehr über hilfreiche Tips von euch.

Beste Grüße
Ronny


RE: Änderung von großen Cluster (Type Def.) führt zu out of Memory exeption - GerdW - 24.10.2019 09:05

Hallo spacz,

1. Sicherheitskopie des Projekts anlegen, falls du nicht sowieso schon ein SCC-System benutzt.
2. nur die Typdefinition öffnen (nicht das ganze Projekt) und bearbeiten
3a. dann das Projekt öffnen…
3b. wenn 3a nicht funktioniert: einzelne VIs aus deiner Hierarchie öffnen und nötigenfalls korrigieren, dann zu 3a…


RE: Änderung von großen Cluster (Type Def.) führt zu out of Memory exeption - spacz - 24.10.2019 09:17

Hallo Gerd,
bis zum Punkt 3a war das genau meine Vorgehensweise, leider vergeblich.

Wie meinst du das genau mit den Einzelnen VIs? Zuerst die Type Def. ändern, dann einzelne VIs öffnen?

Grüße
Ronny
Falls ich das hinbekomme,
hast du einen Tipp für mich wie ich die Vielzahl an Variablen besser händeln kann, als mit dem doch sehr großen Cluster?


RE: Änderung von großen Cluster (Type Def.) führt zu out of Memory exeption - 83Daniel - 24.10.2019 09:27

Wir hatten mal ein ähnliches Problem, es lag an transparenten Elementen in der Typdefinition


RE: Änderung von großen Cluster (Type Def.) führt zu out of Memory exeption - spacz - 24.10.2019 09:31

ich wüsste leider nicht, dass ich transparente Elemente im Cluster habe. aber wie habt ihr das Problem in den Griff bekommen, wenn sich doch gerade nichts löschen lässt.

Falls ich es schaffen sollte: Ich habe schon öfters gelesen, dass mega Cluster vermieden werden sollten, leider ohne Hinweise wie ich stattdessen meine Vielzahl an Variablen händeln soll. Habt ihr da einen Tipp für mich?


RE: Änderung von großen Cluster (Type Def.) führt zu out of Memory exeption - GerdW - 24.10.2019 09:34

Hallo Ronny,

Zitat:Zuerst die Type Def. ändern, dann einzelne VIs öffnen?
Ja.


RE: Änderung von großen Cluster (Type Def.) führt zu out of Memory exeption - spacz - 24.10.2019 11:46

Gerd ich danke dir!
das öffnen / korrigieren einzelner VIs hat wunderbar geklappt!

Aber wie kann ich nun dafür sorgen, dass ich in der Zukunft nicht erneut das Problem bekomme?


RE: Änderung von großen Cluster (Type Def.) führt zu out of Memory exeption - GerdW - 24.10.2019 12:57

Hallo Ronny,

Zitat:Aber wie kann ich nun dafür sorgen, dass ich in der Zukunft nicht erneut das Problem bekomme?
Im Normalfall wird beim laden vom Projekt schon etwa 900 mb genutzt...
Ich habe schon öfters gelesen, dass mega Cluster vermieden werden sollten
Mega-Cluster vermeiden…
Aufpassen, dass das Projekt nach dem Laden nicht schon 900MB benötigt…

Ideen:
- Ich verwende gern FGVs, um Einstellungen/Parameter/etc zu verwalten. Dort wird dann der Cluster an einer Stelle im Speicher gehalten, ohne Notwendigkeit, ihn woanders zu duplizieren.
- Ich verwende gern Variant-Atribute (in LV2019 dann wohl Maps/Sets), um namensbasierte Einstellungen zu verwalten: natürlich wieder innerhalb einer FGV…
- Ich habe mir jetzt eine Parameterverwaltung geschrieben, ähnlich wie die "about:config" im Firefox: Einfach jeden Parameter namensbasiert ablegen, Grupen werden durch Punkte im Namen abgetrennt, etc. Natürlich wieder in Variant-Attributen gespeichert, die wiederum in einer FGV verwaltet werden…


RE: Änderung von großen Cluster (Type Def.) führt zu out of Memory exeption - spacz - 28.10.2019 09:01

Alles klar ich werde mir insbesondere die FGVs mal anschauen! Vielen dank für eure Unterstützung!