LabVIEWForum.de
Prozessorauslastung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Prozessorauslastung (/Thread-Prozessorauslastung)

Seiten: 1 2


Prozessorauslastung - gomark - 05.10.2006 12:41

Ich habe mehrere Vi´s ständig laufen. Nach ein paar Stunden steigt die Prozessorauslastung stetig an - bis 100% Prozessorauslastung. Danach lassen sich die Vi´s auch nicht mehr ordentlich beenden und schließen. Ich benutze LabVIEW 7.0 und Windows XP Professional. Was muß ich an den Vi´s verändern?


Prozessorauslastung - jg - 05.10.2006 12:49

<div align="left">Hallo,

da fällt mir auf Anhieb das eine oder andere ein.

Sammelst du vielleicht in deinen VI's irgendwelche Daten-Arrays? Dann wird es nach langer Laufzeit immer länger dauern, das Array zu dynamisch zu vergrößern. Und das braucht dann natürlich enorm Prozessor-Leistung.

Oder hast du While-Loops laufen, die dauernd versuchen, Frontpanel-Elemente abzufragen? Dann mußt du an diesen Stellen kleine Verzögerungen einbauen.

Ist aber alles nur ein Schuß ins Blaue. Dazu müßten wir deine VI's im Orignal sehen (oder Screenshots des Sourcecodes).

MfG, Jens</div>


Prozessorauslastung - dc6xs - 05.10.2006 12:51

' schrieb:Ich habe mehrere Vi´s ständig laufen. Nach ein paar Stunden steigt die Prozessorauslastung stetig an - bis 100% Prozessorauslastung. Danach lassen sich die Vi´s auch nicht mehr ordentlich beenden und schließen. Ich benutze LabVIEW 7.0 und Windows XP Professional. Was muß ich an den Vi´s verändern?

Hi,

Hast Du vielleicht etliche while-schleifen laufen?
Pack mal in jede Schleife ein 10ms warten rein, sollte helfen..

Gruß, Rob


Prozessorauslastung - Y-P - 05.10.2006 13:04

An das mit der Verzögerung habe ich auch als erstes gedacht, aber mit den While-Schleifen ist der Prozessor doch normalerweise sofort überlastet. Das tritt aber komischerweise erst nach ein paar Stunden auf.
Das beste wäre, wenn man das VI mal sehen könnte.

Gruß Markus


' schrieb:Hi,

Hast Du vielleicht etliche while-schleifen laufen?
Pack mal in jede Schleife ein 10ms warten rein, sollte helfen..

Gruß, Rob



Prozessorauslastung - Svenni - 05.10.2006 15:23

Hallo,

ich würde auch auf ein Array tippen, dass mit der Zeit immer größer wird. Wie sieht es denn mit der Speicherauslastung aus?

Starte doch mal den VI-Profiler, dann kannst du sehen, welches VI den Rechner in die Knie zwingt.

Gruß
sven


Prozessorauslastung - cb - 05.10.2006 18:53

' schrieb:Hallo,

ich würde auch auf ein Array tippen, dass mit der Zeit immer größer wird. Wie sieht es denn mit der Speicherauslastung aus?

Starte doch mal den VI-Profiler, dann kannst du sehen, welches VI den Rechner in die Knie zwingt.

Gruß
sven

dem kann ich mich nur anschließen. Das klingt danach, dass das VI nach und nach immer mehr Speicher braucht - wahrscheinlich ein "build Array" mit schieberegistern in einer Schleife?!. Wenn der physikalische Speicher "verbraucht" ist, fängt LV an auszulagern. Je nach Größe des hauptspeichers dauert das ein Weilchen, wenn man dann in der Zwischenzeit immer wieder neuen Speicher anfordert hat man seinen Rechner quasi abgeschossen.

Bei Windows 98 gab das dann immer so ne schöne BluescreenSmile

Grüße
CB


Prozessorauslastung - gomark - 05.10.2006 20:16

Die Vi´s laufen alle zwischen 250 ms bis 1000ms. Ich habe mir ein Trend Vi gebaut - es läuft alle 60 Sekunden und schreibt 4 Temperaturen. Dies habe ich mit einem Express Vi realisiert. Ist das mein Problem? Wenn ja wie kann ich Temperaturen mitschreiben ohne diese Auswirkungen?
Gruß Markus


Prozessorauslastung - cb - 06.10.2006 06:01

' schrieb:Die Vi´s laufen alle zwischen 250 ms bis 1000ms. Ich habe mir ein Trend Vi gebaut - es läuft alle 60 Sekunden und schreibt 4 Temperaturen. Dies habe ich mit einem Express Vi realisiert. Ist das mein Problem? Wenn ja wie kann ich Temperaturen mitschreiben ohne diese Auswirkungen?
Gruß Markus

ich kenn dein VI nicht, also kann ich nicht wirklich was dazu sagen - nur raten, aber wenn das das Problem ist, dann könnte man das lösen, in dem man die Daten z.B. in einen Ringspeicher schreibt, sprich ein Array, an das nicht immer wieder was angehängt wird, sondern bei dem - wenn eine bestimmte Länge überschritten / erreicht wurde - die ältesten Werte überschrieben werden.

Dabei muss man sich halt vorher überlegen, wieviel Daten man nun puffern will, dafür läuft der Speicher nicht mehr voll ...

Grüße
CB


Prozessorauslastung - gomark - 06.10.2006 12:16

Ich benutze das Express Vi "XY Graph erzeugen". Dort schreibe ich 4 Werte in Verbindung mit einem Zeitstempel. Hat jemand eine fertige Lösung für meine Anwendung? Ich möchte Temperaturen in Abhängigkeit von der Tageszeit mitschreiben und mindestens für 48 Stunden loggen. Es genügt die Temperaturen alle 5 Minuten zu erfassen.


Prozessorauslastung - eg - 06.10.2006 12:49

Geau das ist es. Dein ExpressVI für XY Plot sammelt alle Daten und wird irgendwann voll. Ich habe gerade sowas ausprobiert mit diesem ExpressVI. Ich habe eine Stunde lang die Daten (nur zwei Punkte, also X und Y) mit 10 Hz zu sammeln. Die CPU-Auslastung ist innerhalb einer Stunde von 8% auf 15% gestiegen. Die Lösung wäre z.B. eine Queue(FIFO) oder Array, wo du die Daten ablegst und dafür sorgst, dass nur eine bestimmte Datenmenge dort abgespeichert wird. Aber na ja ein Sample pro 5 Minuten in 48 Stunden sollte eigentlich nicht so viel sein. Trotzdem kann das der Grund deines Problems sein.