VI mit steigendem Speicherbedarf - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: VI mit steigendem Speicherbedarf (/Thread-VI-mit-steigendem-Speicherbedarf) |
VI mit steigendem Speicherbedarf - freezer - 14.09.2009 13:35 Hallo, ich bin inzwischen am verzweifeln, da ich schon seit ein paar Tagen an diesem Problem sitze. Ich hab ein etwas komplexeres VI gebastelt (mein erstes Programm), welches immer mehr Arbeitsspeicher in Anspruch nimmt. Dies führt nach einiger Zeit dazu, dass das Programm abstürzt. Am Besten sieht man dies, wenn man den Burst Modus auswählt und hiernach die Anzahl der Bursts auf z.B. 4000 stellt und auf Start klickt. Im Task-Manager von Windows steigt der Bedarf immer weiter an. Dies geschieht auch, wenn man nicht auf Start klickt. Nur dauert es dann etwas länger. Am Controller.vi liegt es nicht, das habe ich schon getestet indem ich ein leeres VI eingebunden habe. Eventuell weiß ja jemand von Euch etwas. Vielen Dank! LabVIEW Version ist 8.6 [attachment=21258] VI mit steigendem Speicherbedarf - freezer - 14.09.2009 14:17 Könnte es sein, dass die Melder damit etwas zu tun haben? VI mit steigendem Speicherbedarf - jg - 14.09.2009 14:30 Sehr gut möglich, vergleich mal hier: http://www.LabVIEWforum.de/index.php?showtopic=14095&hl= Gruß, Jens VI mit steigendem Speicherbedarf - freezer - 14.09.2009 19:33 Hallo, den Thread habe ich schon gelesen, jedoch weiß ich nicht genau, wo ich da bei mir ansetzen sollte. Vielleicht fällt ja einem beim drüberschauen direkt ein "Anfängerfehler" ins Auge. Danke und Gruß freezer VI mit steigendem Speicherbedarf - IchSelbst - 14.09.2009 19:53 ' schrieb:jedoch weiß ich nicht genau, wo ich da bei mir ansetzen sollte.Na, zumindest schon mal hier: Überall, wo ein "Melder/Queue anfordern" steht gehört auch ein "Melder/Queue freigeben" hin. Alles, was erzeugt wird, muss auch wieder gelöscht werden. Das gilt natürlich auch für Melder/Queue. Außerdem: In Burst.VI hast du eine While-Schleife, in der du mit jedem Schleifendurchgang diverse Tasks erzeugst, bearbeitest und wieder löscht. Das Erzeugen und Löschen muss man aber nur ein einziges Mal machen. Außerhalb der Schleife. Das würde reichen. Ob das ständige Erstellen/Löschen Einfluß auf den Speicherbedarf hat, weiß ich jetzt nicht. Auf jeden Fall es es außerst Ineffezient. VI mit steigendem Speicherbedarf - rasta - 15.09.2009 05:58 Hallo, schau mal in den unteren beiden While-Schleifen des "US control.vi", da gibt es ein SettingsSubvi jeweils in beiden While-Schleifen. Wenn Du dieses öffnest eine Probe am Queue Refnum Out legst siehst Du das ständig neue Queue Referenzen erzeugt werden. Gruß Ralf VI mit steigendem Speicherbedarf - freezer - 15.09.2009 09:47 Hallo, vielen Dank soweit. @Rasta Also im Controller.vi habe ich die beiden SubVIs nun außerhalb der Schleife angesiedelt. Hierdurch werden sie nur einmal aufgerufen. Wie legt man denn eine "Probe" an? @IchSelbst Ich weiß nicht genau, wie ich das terminieren vornehmen soll. Hast Du eventuell hierzu ein Beispiel? Den Task habe ich nun außerhalb der Schleife erstellt, jedoch hat dies keinen Einfluss auf den Speicher. Gruß freezer VI mit steigendem Speicherbedarf - IchSelbst - 15.09.2009 11:26 ' schrieb:Wie legt man denn eine "Probe" an?Linksklick auf Leitung, mit Rechtsklick Kontextmenü öffnen. Dort "Sonde" (oder auf Englich wohl "Probe") anklicken. Zitat:Ich weiß nicht genau, wie ich das terminieren vornehmen soll. Hast Du eventuell hierzu ein Beispiel?Beispiel nicht. Aber: In der Palette, in der du auch das Element "Melder anfordern" gefunden hast, gibt es diverse andere Melder-spezifische Elemente. Eines davon ist "Melder freigeben" (oder so ähnlich). Das setzt du einfach nach dem letzten Element hin, das was mit dem Melder macht. Und vergiss die Verbindung mit der Melder-Referenz (das ist die grünliche Leitung) nicht. VI mit steigendem Speicherbedarf - freezer - 28.09.2009 22:22 So wie es aussieht waren es wirklich die Melder! Vielen Dank für die Hilfe! |