Lässt Ressourcenknappheit Windows abstürzen?

Guten Tag,

Wir verwenden eine Monitoringsoftware (steuert via TCP/IP Geräte und sammelt Daten) eines amerikanischen Herstellers.
Diese Software läuft sehr instabil; ca. 3-4 mal pro Monat kommt es zu Abstürzen (xyz.exe hat einen Fehler verursacht, bla bla bla).
Der Hersteller hat Richtlinien kommuniziert welche alle in die selbe Richtung gehen:
Nicht mehrere Aktionen in der Software ausführen welche viel Ressourcen benötigen, denn das könne eine Software zum abstürzen bringen.

Für mich ist das fremd. Ich dachte immer, das System wird bei Auslastung einfach langsamer und abstürzen tut nur schlecht programmierte Software.

Ist dem so? Hat jemand eine gute Begründung, warum eine hohe Auslastung sicher nicht zum Absturz führen darf/kann/sollte?

Übriges ist die Software älter (wurde in Visual Basic C++ Version 6 programmiert, Datenbank ist eine Borland Paradox BDE).

Danke für eure Ideen!

Marcel

Hi!

Die Frage ist, wie weit ist der Rechner denn wirklich ausgelastet, bevor es zu diesem Absturz kommt?
Ein Fehler durch eine .exe des Herstellers hat meistens nichts mit dem Betriebssystem an sich zu tun, sondern entweder durch eine spezielle Konstellation von Softwareprodukten oder aber das Tool ist wirklich schlecht programmiert.
Waren die Probleme denn schon immer da?

Viele Grüße
André

Hallo

Das ist schwierig zu sagen. Gibt es ein Tool mit welchem die Auslastung kontinuierlich geloggt werden kann? Das wäre sicher hilfreich.
Die Probleme waren nicht immer da. In letzter Zeit haben sie sich gehäuft.
An einem anderen System mit ähnlichen Problemen wurde der PC getauscht - mit Erfolg (Allerdings weiss man bis heute nicht, ob die Windows XP Installation langsam zerschossen war oder ein Hardwaredefekt vorlag).

Leider lässt sich das hier nicht so einfach machen. Denn das System wird in einer Produktion eingesetzt wo alles validiert und qualifiziert werden muss. Das kostet…

Marcel

Hi Marcel!

Ich würde diese beiden Tools nutzen:
http://oss.oetiker.ch/mrtg/
http://munin.projects.linpro.no/

Dazu entweder einen anderen PC mit diesem in Verbindung bringen und die Aufzeichnungen speichern lassen, oder aber das Tool direkt auf den Rechner. Dann werden die Angaben (RAM-Auslastung, CPU, Netzwerk…) grafisch angezeigt. Dann kannst du genau sehen, was zum Zeitpunkt des Absturzes die Ursache gewesen sein könnte.
Am besten aber auf einen Stand-alone-Rechner und von dort aus loggen, damit man nichts an der XP-Kiste zerstört.

Viele Grüße
André

Hallo

Also ich würde einmal die Fehlermeldung genauer erkunden, man kann bei Störungen auch mal Strg-Alt-Entf drücken, um den Taskmanager zu betrachten. Damit kann man auch einzelne Programme ausschalten, wenn man denn hineinkommt. Man kann z.B. auch feststellen, wann ein Programm fehlerhaft Speicher anfordert. Das ist z.B., wenn ein Programm immer mehr Speicher verwendet, aber die Aufgabe kontinuierlich dieselbe ist.

Außerdem kann man versuchen, festzustellen, wann(bei welcher Aufgabenstellung) der Fehler auftritt.

Fehler können sich außerordentlich vielfältig darstellen.

Zum Beispiel kann es sein, das Programme nicht multithreading-fähig sind. Also man kann zwar mehrere Aufgaben einschalten, das Programm kann dann aber immer nur eine Aufgabe alleine lösen, nur ein Beispiel.

Das bedeutet dann, das das Programm u.U. besser mehrfach gestartet wird, und dann nur jeweils mit einer Aufgabe betreut.

Ob man mit VB6 Multithreading programmieren kann, kannst Du ja mal erfragen, aber das ist z.B. bei VB5 professional zwar möglich aber schwierig und von der IDE gar nicht vorgesehen.

Was auch Fehler verursachen kann(hoher Zeitverbrauch, ähnlich hängen), das ist, wenn von Programmen zuviel Ram-Speicher angefordert wird, dieser aber nicht wieder beizeiten freigegeben wird, und dann Windows versucht, Threads mit ihrem Speicher auf Festplatte zu bringen.

Bei Netzwerkprogrammen kann auch ein Fehler mit dem Netzwerk sein, also ein Programm wartet ewig auf irgendeine Antwort, die aber nicht kommt, fehlerhaftes Timeout z.B. oder wie das heißt. Es gibt Leute, die sich nur mit Netzwerk beschäftigen.

MfG

Hallo

Also ich würde einmal die Fehlermeldung genauer erkunden, man
kann bei Störungen auch mal Strg-Alt-Entf drücken, um den
Taskmanager zu betrachten. Damit kann man auch einzelne
Programme ausschalten, wenn man denn hineinkommt. Man kann
z.B. auch feststellen, wann ein Programm fehlerhaft Speicher
anfordert. Das ist z.B., wenn ein Programm immer mehr Speicher
verwendet, aber die Aufgabe kontinuierlich dieselbe ist.

Wenn der Server abgestürzt ist, dann kann man mit dem Taskmanager auch nicht viel anfangen. Die Leute haben auch bestimmt nicht die Zeit dazu, um sich den Taskmanager die ganze Zeit anzuschauen. Ein Logfile schreibt das Teil ja auch nicht, also kann man damit nicht viel anfangen.

Außerdem kann man versuchen, festzustellen, wann(bei welcher
Aufgabenstellung) der Fehler auftritt.

Dazu wurden ja bereits Tools aufgeführt, die man dazu verwenden kann.

Fehler können sich außerordentlich vielfältig darstellen.

Zitat von einem berühmten Komiker: „Nein“ - „Doch“ - „OOHHHHH“

Zum Beispiel kann es sein, das Programme nicht
multithreading-fähig sind. Also man kann zwar mehrere Aufgaben
einschalten, das Programm kann dann aber immer nur eine
Aufgabe alleine lösen, nur ein Beispiel.

Das bedeutet dann, das das Programm u.U. besser mehrfach
gestartet wird, und dann nur jeweils mit einer Aufgabe
betreut.

Du hast schon gelesen, dass der Server in einer Firma läuft und dort im Live-Betrieb? Da macht man nicht eine solche Frickelei. Das ist kein Webserver der zu Hause steht :wink:

Ob man mit VB6 Multithreading programmieren kann, kannst Du ja
mal erfragen, aber das ist z.B. bei VB5 professional zwar
möglich aber schwierig und von der IDE gar nicht vorgesehen.

Dazu könnte er die Firma fragen, die das Teil programmiert hat.

Was auch Fehler verursachen kann(hoher Zeitverbrauch, ähnlich
hängen), das ist, wenn von Programmen zuviel Ram-Speicher
angefordert wird, dieser aber nicht wieder beizeiten
freigegeben wird, und dann Windows versucht, Threads mit ihrem
Speicher auf Festplatte zu bringen.

Bei Netzwerkprogrammen kann auch ein Fehler mit dem Netzwerk
sein, also ein Programm wartet ewig auf irgendeine Antwort,
die aber nicht kommt, fehlerhaftes Timeout z.B. oder wie das
heißt. Es gibt Leute, die sich nur mit Netzwerk beschäftigen.

Fehlerhaftes Timeout höre ich auch zum ersten Mal, könnte glatt von einem Politiker sein der mit Fachwissen um sich werfen möchte.
Sei mir nicht böse, doch auf so manche Dinge sollte man lieber nicht antworten, wenn man nur Vermutungen aufstellt und nicht weiss wovon man redet.

MfG

Viele Grüße
André

Hallo
Naja, es dem Hersteller um die Ohren knallen, dir nicht böse sein, das ist ja schön einfach…
Ich wollte nur Möglichkeiten aufzeigen, die den technischen Hintergrund betreffen.
Strg-Alt-Ent zu drücken ist doch noch Windowsbedienung. Aber natürlich auch eine Möglichkeit, Geld zu verdienen.
Bei den ganzen Diagnoseprogrammen ist doch einmal zu sagen, das diese oft nur etwas in einer Oberfläche zusammenführen, was eigentlich schon alles im Windows vorhanden ist.
Fehlerhaftes Timeout gibts nicht? Warte mal, ich erklärs Dir gleich…
Grüße

Hallo
Naja, es dem Hersteller um die Ohren knallen, dir nicht böse
sein, das ist ja schön einfach…

Wenn ein Hersteller mir eine Software bereitstellt, dann hat diese auch ordentlich zu funktionieren. Passiert dies nicht, muss der Hersteller nachbessern oder man kauft von ihm keine Produkte mehr, dass ist eben Marktwirtschaft.

Ich wollte nur Möglichkeiten aufzeigen, die den technischen
Hintergrund betreffen.
Strg-Alt-Ent zu drücken ist doch noch Windowsbedienung. Aber
natürlich auch eine Möglichkeit, Geld zu verdienen.

„Strg-Alt-Entf“ ist ja super, doch es protokolliert nichts. Wenn der Server dann um 3Uhr morgens abraucht, dann ist vorbei. Was willst du denn da bitte sehen?
Wenn du ein wenig Ahnung hättest und/oder meine Links gesehen/gelesen hättest, dann würdest du erkennen, dass diese Tools Freeware sind. Außerdem ist jede Stunde oder jeder Tag an dem die Kiste steht mehr Geld in die Luft gepulvert als einen kleinen Rechner voll mit Freeware zur Überwachung hinzustellen.

Bei den ganzen Diagnoseprogrammen ist doch einmal zu sagen,
das diese oft nur etwas in einer Oberfläche zusammenführen,
was eigentlich schon alles im Windows vorhanden ist.

Siehe oben, Windows kann nichts und schon garnicht protokollieren. So wie du hier argumentierst, hast du noch nie ein Firmennetz betreut oder aber Server administriert.

Fehlerhaftes Timeout gibts nicht? Warte mal, ich erklärs Dir
gleich…

„Fehlerhaftes Timeout“ - LOL! Ein Timeout ist bereits ein Fehler, nämlich der, dass eine Anwendung schon nicht rechtzeitig geantwortet hat. Das ist so ein Satz wie „kaputter Defekt“.

Grüße

Viele Grüße
André

Hallo

Da hast Du natürlich Recht, ich hab auch noch nie ein Firmennetz konfiguriert usw…
Im Sinne einer gewerblichen professionellen Beratung kann mein meinen Artikel nicht verstehen. Ich wollte echt nur sagen, was an Programmen sein kann, wie man sich billig helfen kann, was die Heinzelmännchen(Nachtschicht?) machen ist mir auch egal. Und ich hab auch nichts gegen Deine Freeware gesagt…

Mit fehlerhaftem Timeout meine ich z.B. folgendes:
Eine Anwendung kommuniziert mit einem Server.
Der Server steht irgendwo im Netzwerk und kann auch schon man ausfallen oder ist schon mal überlastet, der Entwickler des Programms hat dies jedoch nicht berücksichtigt.
Das Programm macht eine Anforderung an den Server, der Server antwortet nicht, das Programm müßte zum Beispiel 1 min warten und dann aufhören zu warten und weitermachen. Diese max. 1min sind das zulässige Timeout.
Wenn das Programm ewig oder zu lange wartet, kann man das Fehler im Timeout nennen, jedenfalls hab ich das so in Erinnerung. Dieser Begriff wird vielleicht auch anders verwendet, Schnittstellen, mir auch egal.

Die Software, wenn sie teuer war, irgend etwas besonderes, der Einkauf war schon länger her, der Hersteller hat Pleite gemacht, dann fängt man durchaus an zu „frickeln“, wie man es nennen kann.
Und gewöhn Dir mal ab, immer „Du hast keine Ahnung“ zu sagen.

MfG

Hallo

Da hast Du natürlich Recht, ich hab auch noch nie ein
Firmennetz konfiguriert usw…

Also solltest du auch nicht versuchen jemandem in diesem Bereich behilflich zu sein.

Im Sinne einer gewerblichen professionellen Beratung kann mein
meinen Artikel nicht verstehen. Ich wollte echt nur sagen, was
an Programmen sein kann, wie man sich billig helfen kann, was
die Heinzelmännchen(Nachtschicht?) machen ist mir auch egal.
Und ich hab auch nichts gegen Deine Freeware gesagt…

Alles nur Theorie ohne jegliche Hilfestellung.

Mit fehlerhaftem Timeout meine ich z.B. folgendes:
Eine Anwendung kommuniziert mit einem Server.
Der Server steht irgendwo im Netzwerk und kann auch schon man
ausfallen oder ist schon mal überlastet, der Entwickler des
Programms hat dies jedoch nicht berücksichtigt.
Das Programm macht eine Anforderung an den Server, der Server
antwortet nicht, das Programm müßte zum Beispiel 1 min warten
und dann aufhören zu warten und weitermachen. Diese max. 1min
sind das zulässige Timeout.
Wenn das Programm ewig oder zu lange wartet, kann man das
Fehler im Timeout nennen, jedenfalls hab ich das so in
Erinnerung. Dieser Begriff wird vielleicht auch anders
verwendet, Schnittstellen, mir auch egal.

Die Software, wenn sie teuer war, irgend etwas besonderes, der
Einkauf war schon länger her, der Hersteller hat Pleite
gemacht, dann fängt man durchaus an zu „frickeln“, wie man es
nennen kann.

Aber nicht mit dem geöffneten Taskmanager vor dem PC sitzen. Das kann man an dem eigenen Rechner machen, doch auch dafür ist die Zeit zu schade. Dafür benutzt man eben Tools.

Und gewöhn Dir mal ab, immer „Du hast keine Ahnung“ zu sagen.

Nö, warum? Du hast in diesem Segment keine Ahnung ich ich äußere eben nur meine Meinung darüber. Es gibt auch Leute, die immer meinen helfen zu KÖNNEN es aber nicht einsehen, dass sie es eben nicht KÖNNEN. Von daher bin ich einfach nur ehrlich.

MfG

Viele Grüße
André