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 

Mehr als 2,5GByte Arbeitspeicher nutzen



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!

03.08.2011, 13:03
Beitrag #1

joedoe1979 Offline
LVF-Grünschnabel
*


Beiträge: 40
Registriert seit: Sep 2006

8.5.1
2005
de

23654
Deutschland
Mehr als 2,5GByte Arbeitspeicher nutzen
Hallo @ all Labview Nutzer,

ich habe ein kleines Testprogramm geschrieben. Dies rechnet aus zufällig erzeugten Daten die FFT aus. Mit dem Testprogramm will ich die maximal möglich Speichernutzung ermitteln. Ich habe das gleiche Programm mit Labview 2009 und Labview 2011 gestestet. Parallel habe ich den Taskmanager von Windows benutzt und abgelesen bei wie viel RAM das Labview Programm aussteigt.

Bei beiden Labviewversionen (2009 und 2011) kommt bei ca. 2,5GByte verwendeter Arbeitsspeicher ein Popup, das die Ausführung des Labviewprogramms anhält, da angeblich nicht genügend Speicher zur verfügung steht.

Wenn ich Labview 2010 64Bit benutze dann kann ich den kompletten Arbeitsspeicher vom PC nutzen. In meinem System sind 8GByte verbaut und ich benutze Windows 7 64Bit.

Jedoch bringt die Labview 64Bit Version auch sehr viele Nacchteile mit sich. Ich kann z.B. viele alte DLLs nicht mehr verwenden da diese für 32Bit Versionen sind. Somit muss ich alles auf 64Bit umstellen. Dieser Aufwand ist mir jedoch zu groß.

Deshalb meine Frage kann ich mit der Labview 32Bit Version unter einen 64Bit Betriebssystem den vollen Arbeitsspeicher also mehr als 2,5GByte nutzen und wenn ja wie?

Ich habe das Testprogramm mit in den Anhang gepackt (ist für Labview 2009)


Angehängte Datei(en)
2009 .vi  test.vi (Größe: 68,6 KB / Downloads: 179)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.08.2011, 17:20
Beitrag #2

macmarvin Offline
CLA
***


Beiträge: 445
Registriert seit: Sep 2006

2014
2004
EN

81373
Deutschland
RE: Mehr als 2,5GByte Arbeitspeicher nutzen
Unter Windows 64bit kannst du theoretisch 4GB mit LV 32bit nutzen. Allerdings hängt da viel davon ab, wie du versuchst den Speicher anzufordern.
Bei großen zusammenhängenden Blöcken wird es schnell eng... mit kleineren Brocken geht es eher.

2010 .vi  3gb_example.vi (Größe: 18,09 KB / Downloads: 216)

Damit ist bei ca 3.5GB auf meinem System Schluß.

Was hast du eigentlich vor? Weil z.B. dein 2D Array wird, selbst wenn es nur 1GB groß wäre, schnell sehr unhandlich bzw. da musst du dann höllisch auf mögliche Kopien achten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.08.2011, 21:06 (Dieser Beitrag wurde zuletzt bearbeitet: 03.08.2011 21:07 von Y-P.)
Beitrag #3

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: Mehr als 2,5GByte Arbeitspeicher nutzen
Offtopic Bitte Profil_ergaenzen. Da steht noch LabVIEW 8.5 drin und Du hast laut Deinem Post schon LabVIEW 2011. Danke. Big Grin

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.08.2011, 22:14
Beitrag #4

joedoe1979 Offline
LVF-Grünschnabel
*


Beiträge: 40
Registriert seit: Sep 2006

8.5.1
2005
de

23654
Deutschland
RE: Mehr als 2,5GByte Arbeitspeicher nutzen
Ich verwende sehr viele Versionen von Labview. Heute habe ich mal die neue Version 2011 ausprobiert.

Ich bekomme einen konstanten Datenfluss von einer High Speed DAQ. Ich schreibe 2D Arrays in eine Queue. Es entstehen dadurch 3D Bilder die recht groß werden. Da ich diese dann bearbeiten muss geht schnell der Speicher aus. Dies ist bei der 64Bit Version halt nicht der Fall.

Ich wollte halt wissen ob ich einen Fehler mache oder ob die Speichermenge bei der 32Bit Labviewversion begrentzt ist.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.08.2011, 00:12
Beitrag #5

macmarvin Offline
CLA
***


Beiträge: 445
Registriert seit: Sep 2006

2014
2004
EN

81373
Deutschland
RE: Mehr als 2,5GByte Arbeitspeicher nutzen
3D Arrays von Elementardatentypen sind besonders anfällig für Speicherprobleme, da sie als zusammenhängender Speicher angelegt werden. Das sorgt mit etwas Speicherfragmentierung schnell zu "Speicher voll". (siehe auch: Thread-grosse-Datenmengen-in-LV-8-5-1)

Wie so oft... man bekommt im Zweifel nichts geschenkt. Entweder .dll auf 64bit portieren und bequem mit 3d Arrays arbeiten oder .dll weiter benutzen und Datenstrukturen und Algorithmen auf z.B. 1d Array von 2d Arrays ändern. Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.08.2011, 06:38
Beitrag #6

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: Mehr als 2,5GByte Arbeitspeicher nutzen
... und die aktuellste sollte in Deinem Profil stehen. Rulez

Gruß Markus

(03.08.2011 22:14 )joedoe1979 schrieb:  Ich verwende sehr viele Versionen von Labview.

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.08.2011, 07:48
Beitrag #7

rasta Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 245
Registriert seit: Oct 2006

LabVIEW 2009-2017
2006
EN

53909
Deutschland
RE: Mehr als 2,5GByte Arbeitspeicher nutzen
Hi,
Eine „Teil“ – Alternative mal im Anhang:Lv10
Grundlage ist macmarvin´s Beispiel.
Die „LabVIEW-Speichergröße“ kann vorgegeben werden, wenn diese überschritten, wird in TDMS gespeichert.
Dies ändert zwar nicht die physikalischen bzw. Win-Begebenheiten sowie die Tatsache dass diese Vorgehensweise langsamer ist, jedoch für einige Fälle könnte dies vielleicht hilfreich sein.
Das Beispiel ist noch nicht perfekt. Kritik und Anregungen willkommen.

Gruß
Ralf


Angehängte Datei(en)
0 .zip  3GB-MC-example.zip (Größe: 42,92 KB / Downloads: 178)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.08.2011, 12:26 (Dieser Beitrag wurde zuletzt bearbeitet: 05.08.2011 14:05 von macmarvin.)
Beitrag #8

macmarvin Offline
CLA
***


Beiträge: 445
Registriert seit: Sep 2006

2014
2004
EN

81373
Deutschland
RE: Mehr als 2,5GByte Arbeitspeicher nutzen
Danke rasta, für die Erweiterung (und bugfixing) der ursprünglichen Idee.
Da ich selbst immer etwas misstrauisch gegenüber den TDMS-Funktionen bin, habe ich deine Idee um einfache Binärdateien erweitert.
Anbei das Ganze mit LVOOP-basierter Unterscheidung zwischen verschiedenen Speicherarten.

Lv10
Sonstige .zip  3gb_second_attempt.zip (Größe: 290,21 KB / Downloads: 193)


Edit:
Noch erweiterte Fassung.
Unterstützt jetzt:
  • byValue
  • DVR
  • Single Element Queue (blockierend)
  • Single Element Queue (nicht blockierend)
  • TDMS
  • Binärfile

Lv10
Sonstige .zip  3gb_third_attempt.zip (Größe: 412,82 KB / Downloads: 188)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.08.2011, 18:29
Beitrag #9

rasta Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 245
Registriert seit: Oct 2006

LabVIEW 2009-2017
2006
EN

53909
Deutschland
Smile RE: Mehr als 2,5GByte Arbeitspeicher nutzen
Hi macmarvin,

Meine LVOOP-Kenntnisse sind <=0,1% Big Grin jedoch soll sich dies bald ändern und da ist dieses Beispiel für mich
sehr gut geeignet. Danke.
Die einfache Binärdatei - Variante ist trotz Erstellung eines jeden "Iterations-Files" (oder deshalb?) schneller im Schreibe sowie im Lesevorgang als TDMS mit Gruppen bzw. Kanälen und geöffneter File-Ref- interessant.
Es gibt weiterhin viel zu verstehen.

Gruß
Ralf
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.08.2011, 09:54
Beitrag #10

macmarvin Offline
CLA
***


Beiträge: 445
Registriert seit: Sep 2006

2014
2004
EN

81373
Deutschland
RE: Mehr als 2,5GByte Arbeitspeicher nutzen
(05.08.2011 18:29 )rasta schrieb:  Meine LVOOP-Kenntnisse sind <=0,1% Big Grin jedoch soll sich dies bald ändern und da ist dieses Beispiel für mich
sehr gut geeignet. Danke.
Die einfache Binärdatei - Variante ist trotz Erstellung eines jeden "Iterations-Files" (oder deshalb?) schneller im Schreibe sowie im Lesevorgang als TDMS mit Gruppen bzw. Kanälen und geöffneter File-Ref- interessant.

Hi rasta,

ja das Timing hat mich auch weiter interessiert. Das TDMS langsamer ist, war zu erwarten, da die API um einiges mehr macht als nur lesen.

Freut mich, daß dir das LVOOP Beispiel gefällt. Ich habe es noch etwas erweitert um verschiedene Zugriffsarten. Das geht durch den LVOOP Ansatz glücklicherweise recht einfach bzw. ohne viel Aufwand.
Warum z.b. das Lesen von geschlossenen Dateien (InFilesPath.lvclass) fast immer schneller ist als das der noch geöffneten Dateien (InFiles.lvclass) ist mir auch noch nicht ganz klar. Mglw. braucht das setzen des Filepointers bei der offenen Datei recht lange.


2010 .zip  large_dataset_lvoop_tests.zip (Größe: 622,28 KB / Downloads: 187)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Viele Variablen in SubVI nutzen chrisw 3 3.330 02.12.2016 11:35
Letzter Beitrag: GerdW
  Python Code in LabVIEW nutzen n4f3ts 7 11.416 17.03.2016 09:23
Letzter Beitrag: n4f3ts
  Versionsverwaltung Tortoise GIT mit LabVIEW nutzen NEWBIE14 3 6.292 10.11.2014 13:01
Letzter Beitrag: Nordvestlys
  Icon Vorlage nutzen W-C 4 4.766 24.04.2013 12:27
Letzter Beitrag: W-C
  VI mit Rückkopplungsknoten mehrfach nutzen?! CarstenH 6 5.096 30.05.2011 12:19
Letzter Beitrag: CarstenH
  Eine Fehlercode Datei für ein VI nutzen SK-AC 3 4.025 18.01.2011 12:22
Letzter Beitrag: SK-AC

Gehe zu: