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 

Hohe CPU und Speicherauslastung, wie kann man das verbessern?



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!

05.07.2006, 08:52
Beitrag #1

bierber Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 104
Registriert seit: Jan 2006

8.01
2006
kA


Deutschland
Hohe CPU und Speicherauslastung, wie kann man das verbessern?
Hallöle,

folgendes mein LabVIEW ist beim simulieren und testen meiner VI's so speicherinetensiv, das ich nach vier bis 8 Tests mein LV neu starten muß weil es sich irgendwie aufgehängt hat.

Im Taskmanager sehe ich eine CPU auslastung von im Schnitt 95% und eine Speicher auslastung von mindestestens 120MB. Kann man LabVIEW irgendwie beibringen sparsamer mit den Ressourcen umzugehen, oder liegt der Fehler bei mir und ich hab zu viele Sachen programmiert.

Die Frage die sich mir dann noch stellt ist, was ist wenn ich nach der Programmierung eine Exe erzeuge ist diese genau so Ressourcen intensiv. Ich denke nicht das dies ein Kunde auf der Welt mitmacht.

MfG

Felix
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2006, 08:56
Beitrag #2

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

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Hohe CPU und Speicherauslastung, wie kann man das verbessern?
Hi,

Ich würde mal in meinen (While-)Schleifen eine Verzögerung einbauen. Es reichen schon 10 ms. Das war bei mir das Problem. Bei mir waren es sogar oftmals 100 % Auslastung.
In der Regel sind EXE-Dateien nicht so "ressourcenintensiv".

Gruß M.Weippert

' schrieb:Hallöle,

folgendes mein LabVIEW ist beim simulieren und testen meiner VI's so speicherinetensiv, das ich nach vier bis 8 Tests mein LV neu starten muß weil es sich irgendwie aufgehängt hat.

Im Taskmanager sehe ich eine CPU auslastung von im Schnitt 95% und eine Speicher auslastung von mindestestens 120MB. Kann man LabVIEW irgendwie beibringen sparsamer mit den Ressourcen umzugehen, oder liegt der Fehler bei mir und ich hab zu viele Sachen programmiert.

Die Frage die sich mir dann noch stellt ist, was ist wenn ich nach der Programmierung eine Exe erzeuge ist diese genau so Ressourcen intensiv. Ich denke nicht das dies ein Kunde auf der Welt mitmacht.

MfG

Felix

--------------------------------------------------------------------------
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
06.07.2006, 07:46
Beitrag #3

bierber Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 104
Registriert seit: Jan 2006

8.01
2006
kA


Deutschland
Hohe CPU und Speicherauslastung, wie kann man das verbessern?
mal mit 20ms Wartezeit probiert, aber die CPU Auslastung belibt konstant hoch. Beim beobachten, ist mir aufgefallen, das mein Speicher teilweise fast 400MB allein für LabVIEW bereitstellt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2006, 09:57
Beitrag #4

diplNisse Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Apr 2006

2010
2006
EN


Deutschland
Hohe CPU und Speicherauslastung, wie kann man das verbessern?
<div align="left">
poste mal das betreffen de VI.
Ich habe schon ein recht umfangreiches Programm laufen, in dem ich Datensätze von mehr als 7 * 8000 Daten hin und herschiebe, dazwischen 5 Schnittstellen auslese (im 300ms Takt) usw. meine Auslastung ist unter 10%.

Da ist mit Sicherheit irgendwo eine Schleife o.ä. die öfter als nötig abgearbeitet wird.

</div>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2006, 10:01
Beitrag #5

bierber Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 104
Registriert seit: Jan 2006

8.01
2006
kA


Deutschland
Hohe CPU und Speicherauslastung, wie kann man das verbessern?
' schrieb:<div align="left">
poste mal das betreffen de VI.
Ich habe schon ein recht umfangreiches Programm laufen, in dem ich Datensätze von mehr als 7 * 8000 Daten hin und herschiebe, dazwischen 5 Schnittstellen auslese (im 300ms Takt) usw. meine Auslastung ist unter 10%.

Da ist mit Sicherheit irgendwo eine Schleife o.ä. die öfter als nötig abgearbeitet wird.

</div>


ok hier schaudir es mal an. Das problem wird sein, das ich mit Sub-VIs arbeite die du eventuel nicht öffnen kannst, weil dir die Hardware fehlt


Angehängte Datei(en)
Sonstige .zip  Daten_mit_stream_lesen_Ordner8.0.zip (Größe: 422,63 KB / Downloads: 293)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2006, 10:21
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
Hohe CPU und Speicherauslastung, wie kann man das verbessern?
Das Programm läuft nicht, da auch ein paar VIs gebraucht werden, die gar nicht mit dabei waren.
Hast Du nur in der großen While-Schleife eine Zeitverzögerung reingebaut, oder auch in den SubVIs? Ich würde das mal probieren. Wenn Du keine Verzögerung einstellst, dann läuft die Schleife viel zu oft durch und belastet Deine CPU.

Gruß M.Weippert

--------------------------------------------------------------------------
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
06.07.2006, 10:25
Beitrag #7

bierber Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 104
Registriert seit: Jan 2006

8.01
2006
kA


Deutschland
Hohe CPU und Speicherauslastung, wie kann man das verbessern?
' schrieb:Das Programm läuft nicht, da auch ein paar VIs gebraucht werden, die gar nicht mit dabei waren.
Hast Du nur in der großen While-Schleife eine Zeitverzögerung reingebaut, oder auch in den SubVIs? Ich würde das mal probieren. Wenn Du keine Verzögerung einstellst, dann läuft die Schleife viel zu oft durch und belastet Deine CPU.

Gruß M.Weippert
Die Sub-VI'S haben keine Schjleifen, daher dachte ich das ich die auch nicht verzögern muß, werds mal ausprobieren.


Welche VI's sind den net dabei? die mit labjack?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2006, 10:30
Beitrag #8

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

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Hohe CPU und Speicherauslastung, wie kann man das verbessern?
Du musst nur in Schleifen eine Verzögerung einbauen.
Genau, ein Teil der VIs mit Labjack und eine Library haben gefehlt.

Gruß M.Weippert

--------------------------------------------------------------------------
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
14.07.2006, 14:35
Beitrag #9

Teutates Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 73
Registriert seit: Nov 2004

7.1 Developer Suite inkl. Vision
2004
kA


Deutschland
Hohe CPU und Speicherauslastung, wie kann man das verbessern?
<div align="left">Also so wie ich das sehe arbeitest Du mit sehr vielen speicherlastigen Fuktionen und bearbeitest große Arrays ich würde das Programm anders aufbauen

Je mehr parallelprozesse desto speicherlastiger, verwende doch doch Sequenzen und mache die Operationen Schritt für Schritt denn im Grunde kannst Du eh nicht alle Anzeigen gleichzeitig beobachten.
Zudem ist Dein Rechner sowieso nicht real dafür ausgelegt, auch LV kommt irgendwann an die Grenze obwohl es so schnell wie C ist. Und wenn die Anzeigen nicht aller 10 ms aktualisiert werden sondern aller 40 ms merkst Du als Anwender keinen merklichen Unterschied.


warum nicht zum Beispiel eine Betrachtung der einzelnen Achsen für sich oder nur die Geschwindigkeiten oder Wegdaten oder Leistung.
Oder Du teilst die Messung und Auswertung.

Je kleiner die Arrays werden desto mehr entlastet es den Rechner, ich sag mal 100 % sollte auf jeden Fall vermieden werden und wenn Du halt die Aktualisierungsrate steuerst , zumindest kann ich nichts weiter drüber sagen da ich nicht so auf die Schnelle die nötigen Aufgaben erkenne.

Zudem würde ich alle Bedien und Anzeigeelelemente nur über property Nodes steuern und alles gesammelt und geordnet im Blockdiagramm ablegen , wenn Du eine Variable mehr wie 2 mal im Programm brauchst ist es schon ungünstig diese im Programmcode stehen zu lassen da sucht man sich ja mürbeWink

Aber mur mal als Tipp am Rande der vielleicht entwas Zeit in Anspruch nimmt ist das VI-Profil zu nutzen indem Du die Aufrufstatistiken und Speicherlasten protokollieren kannst, bei LV8 unter Tools->Profile dann hast es bei LV7 auch unter Tools und ich glaube fortgeschritten allerdings wird das bei Dir wohl etwas Aufwand seinWink

Aufjeden Fall bekommst Du dann eine Ahnung wo der Bug sitzt, bei mir wars auch mal der Fall das sich das Programm "zugekackt" hat weil es bei jedem Bild ein Overlay eingezeichnet hatte und so die fps nicht mehr gehalten werden konnten, Lösung war es das Overlay zu kopieren als Beispiel statt neu aus Arraydaten einzuzeichnen.

Wirst schon findenWink

Ach eine Frage zu dem Programm wie lang programmierst Du schon daran?

Gruß


Teutates
</div>

' schrieb:Du musst nur in Schleifen eine Verzögerung einbauen.
Genau, ein Teil der VIs mit Labjack und eine Library haben gefehlt.

Gruß M.Weippert
[indent][/indent]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2006, 14:48
Beitrag #10

bierber Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 104
Registriert seit: Jan 2006

8.01
2006
kA


Deutschland
Hohe CPU und Speicherauslastung, wie kann man das verbessern?
Wie du sicher festgestellt hast arbeite ich noch nicht sehr lang mit LV eiuegntlich erst seit Juni.

Einiges in dem VI ist auch noch im Test Modus und wird noch überarbeitet. Ziel des ganzen is es eigentlich einen 3d-Beschleunigungssensor auszuwerten und die ermittelten Daten durch 2 fachintegration in Schwingungen umzurechnen. Zusätzlich soll dann noch das Frequenzspektrum der Schwingung ausgegeben werden.

Das Projekt ist allerdings gerade auf Eis gelegt, weil mein Sensor macken hat und die komplette Hardware überarbeitet wird.

Insofern wird sich einiges in nächster Zeit ändern und dann werde ich deine Tips versuchen zu beherzigen.

MfG

Felix
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
  Zu hohe Frequenz bei Impulszählung von Durchflussmesser MrBenBen 10 8.178 09.03.2016 21:46
Letzter Beitrag: MrBenBen
  Speicherauslastung von LabView Trinitatis 5 5.891 07.01.2016 15:08
Letzter Beitrag: Trinitatis
  Abtastrate verbessern creo_123 1 2.677 29.07.2013 13:48
Letzter Beitrag: Achim
  Lauflicht verbessern FIE 23 19.303 03.01.2013 18:35
Letzter Beitrag: GerdW
  Hohe Prozessorauslastung nach Festlegen von Fenstergröße/-Position Soean 22 16.039 13.06.2012 14:42
Letzter Beitrag: Soean
  Verbessern seitzo 14 9.104 02.12.2011 13:26
Letzter Beitrag: GerdW

Gehe zu: