INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Problem mit Speicherauslastung



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

10.09.2009, 16:34
Beitrag #1

vogster Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 80
Registriert seit: Feb 2007

8.2.1, 8.6.1, 9.0, 2011
2006
DE

80807
Deutschland
Problem mit Speicherauslastung
Hallo Forum,

ich habe das Problem, dass sich der Speicher meines LabVIEW - Programms im Taskmanager stetig erhöht.
Führe ich das Programm direkt in der Entwicklungsumgebung (LV 2009) aus, dann erhöht sich der Wert um ca. 2.400kb pro Minute.
Starte ich das Programm als EXE, dann sind es immer noch 1.900kb pro Minute.

Das Programm ist sehr umfangreich, es besteht aktuell schon aus 270 einzelnen VI´s. Die Entwicklung ist auch noch nicht abgeschlossen.

Aufgrund dieses Eintrags habe ich dann die Leistungs- und Speicherüberwachung
unter Werkzeuge -> Profil -> Leistung und Speicher ausgeführt. Zunächst für 60 Sekunden und dann für 120 Sekunden. Die Ergebnisse habe in Excel
kopiert (1600 Zeilen pro Messung) und verglichen.
Lediglich ein VI hat sich in dieser Minute um 19kb (Spalte Max.Byte) "aufgeblasen". Das ist auch plausibel, in diesem VI wurde ein Array um einige Zeile ergänzt.
Sonst hat sich nichts verändert.

Von der Programmierung sollte es auch sehr sauber sein. Referenzen werden geschlossen, die Fehlercluster sind alle durchverbunden, hier tritt auch nichts auf.

Ich weiß leider nicht mehr, wo ich ansetzten soll.

Vielleicht hat ja noch jemand eine Idee!

Grüße, Vogster
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2009, 19:45
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Problem mit Speicherauslastung
Deine Frage ist natürlich sehr allgemein, und ohne Kenntnis deines Sourcecode (Glas2) nur schwer zu beantworten.

1900 kB/min ist eine Menge!

Verwendest du irgendwas ActiveX-Artiges? Schließt du da aus Versehen irgendwelche Refnums nicht?

Analysiere auch mal mit dem Process Explorer von Sysinternals/Winzigweich:
http://www.wintotal.de/softw/index.php?id=533

Laufen da Handles hoch? Das ist immer ein sicheres Zeichen für nicht geschlossene Referenzen (FileHandles, ActiveX, etc. etc.).

---

In welcher LV-Version bearbeitest du dein Projekt? Schau vielleicht mal unter den Known Bugs bei NI, vielleicht ist da was mit SpeicherBug dabei, was du häufig aufrufst?!

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2009, 21:04
Beitrag #3

vogster Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 80
Registriert seit: Feb 2007

8.2.1, 8.6.1, 9.0, 2011
2006
DE

80807
Deutschland
Problem mit Speicherauslastung
Hallo Jens,

als ich Deine Antwort so lesen, kommt mir die Idee, dass es irgendetwas mit meinem Meldern sein könnte.
Und siehe da, ich habe versehentlich die Funktionen "Melder anfordern" eine Schleife zu weit innen.
Dadurch wurden bei jedem Durchlauf (alle 20ms) 6 Melder neu angefordert. Zwar mit dem alten Namen,
aber das scheint LV nicht so zu mögen.

Nach der Bereinigung des Fehlers steigt der Speicher jetzt noch um 180kb/Minute, also Faktor 10 besser.
Da ist irgendwo noch ein kleiner Haken.

Morgen werde ich mal den Process Explorer einsetzten.

ActiveX ist zwar auch dabei, daran liegt es aber nicht. Die VIs laufen auch alleine einwandfrei.
Ich benutze seit zwei Wochen LV9, läuft soweit ganz gut.

Erstmal vielen Dank und gute Nacht!
Vogster (eigentlich auch Jens!)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2009, 21:34 (Dieser Beitrag wurde zuletzt bearbeitet: 10.09.2009 21:37 von IchSelbst.)
Beitrag #4

IchSelbst Online
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Problem mit Speicherauslastung
Zitat:Zwar mit dem alten Namen, aber das scheint LV nicht so zu mögen.
Dieses Verhalten ist richtig so!

Guckst du Hilfe zu "Melder anfordern":
Zitat:Wenn die Funktion "Melder anfordern" innerhalb einer Schleife eine Referenz auf einen benannten Melder ausgibt, erzeugt LabVIEW bei jeder Iteration der Schleife eine neue Referenz auf den Melder. Wenn "Melder anfordern" in einer engen Schleife (tight loop) verwendet wird, erhöht sich die Speicherauslastung kontinuierlich, da für jede neue Referenz weitere vier Bytes hinzukommen. Diese Bytes werden automatisch beim Stopp des VIs freigegeben. Bei Applikationen mit langen Ausführungszeiten scheint LabVIEW aber Speicher zu verlieren, da die Auslastung kontinuierlich steigt. Daher sollte nach jeder Iteration in der Schleife die Funktion Melder freigeben aufgerufen werden, damit nicht unnötig viel Speicher belegt wird.

Beachte:
Es wird eine Referenz auf einen Melder erstellt, nicht unbedingt ein neuer Melder. Jede Referenz verbraucht Speicher. Ich lass immer nur eine Referenz erstellen und verwende nur diese eine. Bei "Melder löschen" wird per Voreinstellung nur die Referenz gelöscht - der Melder wird erst gelöscht, wenn alle Referenzen gelöscht wurden.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Speicherauslastung von LabView Trinitatis 5 4.937 07.01.2016 15:08
Letzter Beitrag: Trinitatis
  Speicherauslastung von LabView, mit LabView auslesen Adiboing 1 5.999 08.03.2011 16:05
Letzter Beitrag: NWOmason
  Speicherauslastung und Auslagerungsdatei Rainito 17 10.065 29.10.2010 12:58
Letzter Beitrag: Rainito
  Speicher voll aufgrund Speicherauslastung (LabVIEW 2009) Honeygirl24 16 14.316 09.06.2010 08:22
Letzter Beitrag: dimitri84
  Sonderbare Speicherauslastung schrotti 8 6.075 16.01.2009 14:35
Letzter Beitrag: schrotti
  Hohe CPU und Speicherauslastung, wie kann man das verbessern? bierber 15 15.493 20.07.2006 16:58
Letzter Beitrag: eg

Gehe zu: