Speicher voll aufgrund Speicherauslastung (LabVIEW 2009)
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!
Speicher voll aufgrund Speicherauslastung (LabVIEW 2009)
Sehr geehrtes LV Team,
mein Programm ist nach 2 Tagen Durchlauf abgestürzt...mit folgender Begründung...Speicher ist voll.
Ich hänge auch ein Programmabschnitt als Bildabschnitt an..
Ich muss dieses Problem dringend bis heute mittag lösen...
Bitte um Hilfe
Anzeige
31.05.2010, 08:54 (Dieser Beitrag wurde zuletzt bearbeitet: 31.05.2010 08:55 von dimitri84.)
Zum Thema: Die beiden Wait-Funktionen in den Verbrauchschleifen könnten ein Problem sein. D.h. die Queue wird zu langsam geleert und die Daten stauen sich.
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Speicher voll aufgrund Speicherauslastung (LabVIEW 2009)
' schrieb:mein Programm ist nach 2 Tagen Durchlauf abgestürzt...mit folgender Begründung...Speicher ist voll.
Ich hänge auch ein Programmabschnitt als Bildabschnitt an..
Du bist ein kleiner Scherzkeks, oder? Screenshot von einem BD, das größer ist als der Bildschirm, und wo nicht einmal alles drauf ist, und dann noch...
' schrieb:Ich muss dieses Problem dringend bis heute mittag lösen...
1. Empfehlung: Schmeiß den DAQ-Assi raus und ersetze das durch Standard-DAQmx Funktionen. Nur dann weißt du genau, wann der Task wirklich geöffnet und geschlossen wird. Dem DAQ-Assi traue ich da nicht über den Weg.
Ansonsten leider keine weiteren Ideen, vor allem da meine Glaskugel mal wieder kaputt ist.
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!
Speicher voll aufgrund Speicherauslastung (LabVIEW 2009)
Das könnte eventuell sein...
Es ist aber nicht zu vergessen, dass ich in der dritten Schleife Daten in die txt file schreibe und gleichzeitig aus dieser datei zur visualisierung im graphen auslese (Write to spreadsheet file, Read from spreadsheet file)...
Der Test muss teilweise 1000 Stunden laufen...
31.05.2010, 09:02 (Dieser Beitrag wurde zuletzt bearbeitet: 31.05.2010 09:09 von dimitri84.)
Speicher voll aufgrund Speicherauslastung (LabVIEW 2009)
' schrieb:Das könnte eventuell sein...
Benutz mal das QueueStatus.vi und schau' ob die Anzahl der Elemente mit der Zeit größer wird.
' schrieb:Es ist aber nicht zu vergessen, dass ich in der dritten Schleife Daten in die txt file schreibe und gleichzeitig aus dieser datei zur visualisierung im graphen auslese (Write to spreadsheet file, Read from spreadsheet file)...
Da muss man erst mal drauf kommen
Wieso liest du die Daten zum Anzeigen von der Festplatte, wenn sie doch schon im Speicher sind?!
' schrieb:Was soll das, an zwei Stellen im Programm Daten aus der Queue zu entnehmen?
100% ACK. Wie Jens immer so schön sagt. (Hat mich auch stutzig gemacht.)
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
31.05.2010, 09:02 (Dieser Beitrag wurde zuletzt bearbeitet: 31.05.2010 09:11 von jg.)
' schrieb:Zum Thema: Die beiden Wait-Funktionen in den Verbrauchschleifen könnten ein Problem sein. D.h. die Queue wird zu langsam geleert und die Daten stauen sich.
Ist auch eine Möglichkeit. Aber hierzu noch eine ganz andere Rückfrage: Was soll das, an zwei Stellen im Programm Daten aus der selben Queue zu entnehmen? Hast du sichergestellt, dass immer nur eine Schleife läuft? Auf den ersten Blick sehe ich nichts in der Richtung.
Was machst du, denn Schleife 1 ein Element aus der Queue entnimmt, das eigentlich für Schleife 2 bestimmt war? Wenn es aus der Queue mal weg ist, dann isses weg.
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!
Speicher voll aufgrund Speicherauslastung (LabVIEW 2009)
' schrieb:Ihr scheint alle bei guter Laune zu sein)
Logisch! Sind wir (fast) immer!
Nochmals mein erster Tipp:
' schrieb:1. Empfehlung: Schmeiß den DAQ-Assi raus und ersetze das durch Standard-DAQmx Funktionen. Nur dann weißt du genau, wann der Task wirklich geöffnet und geschlossen wird. Dem DAQ-Assi traue ich da nicht über den Weg.
Gruß, Jens
EDIT: Mit Tools->Profile->Perfomance and Memory... kannst du in der Entwicklungsumgebung den Speicherverbrauch deiner VIs verfolgen. Vielleicht kannst du den Täter identifizieren.
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!
Speicher voll aufgrund Speicherauslastung (LabVIEW 2009)
' schrieb:ch habe den Queue Status angesehen...zeit bei allen null an...
Wer weiß ob das nach langer Laufzeit immer noch so ist. In den Verbraucherschleifen sollten keine Waits rein. Überleg dir das was anderes.
Nachtrag: Wofür ist dort das Status lesen?
Und! Wichtiger noch als dein Speicherauslastungsproblem ist die von Jens erwähnte Geschichte mit dem 2-malige Queue lesen. Dir fehlt in jedem Zyklus ein Element entweder in der einen oder in der anderen Verbraucherschleife. Das kann doch bestimmt nicht gewollt sein...
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Hab ihn gefunden!
Er steht rechts von dem weißen Gebäude, welches sich vorne links im Bild befindet.....
Zum Thema habe ich leider nichts beizutragen, da die Suche nach Waldo schon so viel Zeit gekostet hat....
....und die Dinge, die mir aufgefallen sind bereits genannt wurden.
Obwohl - eine Sache könnte man noch untersuchen: Die fröhliche Verwendung von globalen Variablen. Die können unter Umständen auch zu Problemen führen (Leistung, Wartezeiten, Speicher). Sind die alle sinnvoll und unbedingt notwendig? Ich hab noch nie ein Programm mit so vielen GV gesehen, die auch wirklich alle ihre Existenzberechtigung hatten.