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 

Probleme mit Arbeitsspeicher!



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!

08.07.2007, 11:41
Beitrag #1

Marco_81 Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Sep 2006

8.00
2006
kA


Deutschland
Probleme mit Arbeitsspeicher!
Hallo.

Ich lese Messdaten seriell ein und Protokolliere diese in eine Excel Datei. Klappt. Normalerweise liegt ein neuer Messwert nach 1min an. Die Aufzeichnung läuft über wochen....
Ich habe zum testen jetzt jetzt dauerhaft einen string anliegen und die while Schleife wird alle 5ms durchlaufen...
Wenn ich jetzt den speicherverlauf im task manager anschaue läuft der kontinuierliche an seine Grenze...
Leider habe ich keine Ahnung wie ich das verbessern kann.

LV.: 8.0
1 GB Ram

Gruß


Angehängte Datei(en)
Sonstige .vi  Report.vi (Größe: 25,41 KB / Downloads: 225)

Sonstige .vi  pH_Protokollierung.vi (Größe: 77,97 KB / Downloads: 210)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
08.07.2007, 12:05
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Probleme mit Arbeitsspeicher!
Hallo,

also, die Stelle, an der du deinen Speicherbedarf dauernd erhöhst, ist hier:

   

Da du alle Messwerte kontinuierlich im Speicher hältst (und das auch noch als 2-D-String-Array), muss der Speicherbedarf ja immer weiter ansteigen und somit natürlich irgendwann mal gegen eine Grenze laufen.

Übrigens, die Insert Into Array und die Build-Array-Funktionen allozieren außerdem bei jeder Operation neuen Speicher.

Rückfrage also: musst du alle Daten wirklich im Speicher halten? Wenn ja, dann hast du ein Problem! Wenn nein, dann brauchst du einen Ringpuffer.

MfG, 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
08.07.2007, 12:12
Beitrag #3

Marco_81 Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Sep 2006

8.00
2006
kA


Deutschland
Probleme mit Arbeitsspeicher!
Hallo Jens,

ich kann dir nicht genau sagen ob ich alle Daten im Speicher halten muss. Aber sie müssen kontinuierlich angezeigt und protokolliert werden.

Was ist denn ein Ringpuffer, oder wie kann ich es denn besser realisieren?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.07.2007, 12:34
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Probleme mit Arbeitsspeicher!
Hallo,

zum Thema Ringpuffer oder auch Ringspeicher, such mal im Forum nach Beiträgen von "i2dx" und dem Stichwort Ringspeicher.

Es ist ein Array-Speicherbereich, in dem du halt immer wieder neue Daten reinschreibst, dabei aber alte überschreibst (sozusagen eine FIFO-Puffer).

Ach ja, und die weiteren Build-Array-Aufrufe (bei den 1D-Numeric-Arrays), die du verwendest, sorgen natürlich auch für dauernd ansteigenden Speicherbedarf.

Wie gesagt, musst du wirklich alle Daten anzeigen? Gibt es eine Obergrenze, wie lang der Test läuft? Gibt es eine Obergrenze von Daten, die angezeigt werden müssen (z.B. die letzten 4 Wochen o.ä.)? Dann könntest du mit vorher initialisierten Arrays arbeiten, und dein Speicher steigt dann nicht dauernd an.

MfG, 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
08.07.2007, 13:11 (Dieser Beitrag wurde zuletzt bearbeitet: 08.07.2007 13:12 von Marco_81.)
Beitrag #5

Marco_81 Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Sep 2006

8.00
2006
kA


Deutschland
Probleme mit Arbeitsspeicher!
Ich muss max. die letzten 24 Stunden anzeigen. Aber die Protokollierung muss durchgängig erfolgen (ca. 4-6 Wochen).

MfG Marco
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.07.2007, 13:29
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Probleme mit Arbeitsspeicher!
' schrieb:Ich muss max. die letzten 24 Stunden anzeigen. Aber die Protokollierung muss durchgängig erfolgen (ca. 4-6 Wochen).

MfG Marco
Hallo, Marco,

damit hast du also die Lösung deines Speicherproblems: Deine 1D-Arrays müssen maximal 1440 Elemente (60x24) groß sein. Diese Array-Größe kannst du vor deiner While-Schleife per "Initialize Array" festlegen. Dann den Ringspeicher einbauen.

Und das Abspeichern der Daten musst du natürlich inkremental erledigen und nicht wie jetzt, immer alles innerhalb eines Aufrufes in einen HTML-Report speichern.

MfG, 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
08.07.2007, 14:26
Beitrag #7

Marco_81 Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Sep 2006

8.00
2006
kA


Deutschland
Probleme mit Arbeitsspeicher!
Wäre es möglich das du mir das an einem array als bsp. mal zeigst? Mit inkremental abspeichern meinst du jeden neuen Messwert (und nicht das ganze array zum Report) hinzufügen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.07.2007, 17:18
Beitrag #8

Marco_81 Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Sep 2006

8.00
2006
kA


Deutschland
Probleme mit Arbeitsspeicher!
Es lag an der Protokollierung. Die Arrays haben nicht weiter gestört. Erst wenn ich das Programm beende schreibe ich alle bis dahin angefallenen Messdaten in eine Datei (nicht wie vorher bei jedem Schleifendurchlauf)!

Vielen Dank für die UnterstützungRolleyes
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.07.2007, 18:42
Beitrag #9

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Probleme mit Arbeitsspeicher!
' schrieb:Es lag an der Protokollierung. Die Arrays haben nicht weiter gestört. Erst wenn ich das Programm beende schreibe ich alle bis dahin angefallenen Messdaten in eine Datei (nicht wie vorher bei jedem Schleifendurchlauf)!
Aber den Speicheranstieg löst das trotzdem nicht. Aber ok, bei Messzeiten von 6 Wochen fallen grob überschlagen 60000 Datensätze an, das geht ja noch.

Aber jetzt mal ehrlich, bei der Messdauer willst du nicht zwischendrin mal die Daten wegspeichern??? Und wenn der Computer nach 5 1/2 Wochen zwecks Stromausfall o.ä. ausfällt? Oder aus sonstigen Gründen abschmiert? Dann sind die Daten weg.

Überleg dir das mal mit Zwischenspeichern, ist wirklich nicht schwer, ASCII-File öffnen, und in jedem Druchgang einfach die neuen Zahlen in einer neuen Zeile hinter dranhängen.

MfG, 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
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Arrays und Arbeitsspeicher Spark 4 4.095 18.09.2009 10:33
Letzter Beitrag: IchSelbst

Gehe zu: