Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
seltsam hohe Prozessorauslastung
knuti
myCSharp.de - Member



Dabei seit:
Beiträge: 3

Themenstarter:

seltsam hohe Prozessorauslastung

beantworten | zitieren | melden

Hallo zusammen,

hoffe jemand kann mir bei meinem "kleinen" Problem helfen.

wir haben mit unserem Produkt ein kleines Problem.

Bei vielen Rechnern/Kunden funktioniert alles einwandfrei.
Jedoch auf einem weist das Programm eine extrem hohe Prozessorlast auf.
Das fängt bei 10% an, und endet bei 100% nach 4-5 Tagen.

An sich funktioniert das Programm weiterhin gut, Windows ist jedoch kaum zu bedienen.
Das Programm ist ein installierter Dienst.

Im Einsatz ist Windows2003 Server.
Der Speicherverbrauch bleibt nahezu unverändert.

Unsere Vermutung ist, dass das Logging im Hintergrund diese Auslastung nach einiger Zeit verursacht. (vielleicht durch Fragmentierung auf HDD - Seite!?)

Jedoch wird ab einer bestimmten Dateigröße immer eine neue Logdatei erzeugt und verwendet (1MB)
Pro Dienst werden 2 Logdateien weggeschrieben.
Es hat auch relativ wenig mit der Auslastung zu tun, da auch ohne Last auf den Dienst nach 3-4 Tagen die Prozessorauslastung in die Höhe geht (Logeinträge sind somit auch nicht übermäßig erzeugt worden)

der dienst fungiert als converter zwischen 2 TCP - Endpunkten und wandelt die einkommenden daten so um, dass der zweite Partner dies verstehen kann. und umgedreht.

momentan sind wir ein wenig ratlos. unser derzeitiger ansatz ist die geschichte mit dem logging und der fragmentierung....

hoffe jmd kennt ein ähnliches problem/phänomen.

danke schonmal.

gruß
private Nachricht | Beiträge des Benutzers
Borg
myCSharp.de - Member



Dabei seit:
Beiträge: 1.529
Herkunft: Berlin, Germany

beantworten | zitieren | melden

Nur leider ist Logging und Fragmentierung der falsche Ansatz.
Gerade wenn die Festplatte fragmentiert ist, sinkt die Prozessorauslastung, da die Prozesse länger auf die Festplatte warten müssen...

Ich fürchte, es liegt an etwas anderem. Auf jeden Fall ist es ein Mythos, dass die Fragmentierung der Festplatte irgendetwas mit einem langsamen Rechner zu tun hätte...

Erstellt in der Software doch mal ein mit Zeitstempeln versehenes DebugLog, in dem alle Aktionen verzeichnet sind. Dann findet ihr vielleicht heraus, womit die Software beschäftigt ist.
private Nachricht | Beiträge des Benutzers
Gelöschter Benutzer

beantworten | zitieren | melden

sowas nach 3-4 tagen problem hatte ich auch mal und das hatte mit nicht sauber freigegebenen handles zu tun. jedoch ist das auffinden von nicht freigegeben handles extrem schwierig. schau mal im taskmanager wieviele das programm hält.
Timur Zanagar
myCSharp.de - Member

Avatar #avatar-3412.jpg


Dabei seit:
Beiträge: 1.457

beantworten | zitieren | melden

Ich vermute auch das es an nicht freigegebenen Ressourcen hängen kann. Vor allem wenn es darum geht eingehende TCP Daten umzuwandeln und dannach weiterzusenden. Wird denn alles sauber geschlossen wenn es nicht mehr benötigt wird? Sind irgendwelche nicht saubere Schleifen vorhanden?

An der Fragmentierung der HDD kann ich es mir auch nicht vorstellen.
private Nachricht | Beiträge des Benutzers
sarabande
myCSharp.de - Member

Avatar #avatar-2450.jpg


Dabei seit:
Beiträge: 230

beantworten | zitieren | melden

Hallo knuti,

Ist das aktuelle Servicepack 2 vom 12.03.2007 installiert auf dem Server installiert?
[Microsoft: Windows Server 2003 Service Pack 2 (32-Bit x86)]
http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=95ac1610-c232-4644-b828-c55eec605d55
Zitat: "... Es bietet zudem Verbesserungen der Sicherheit und Stabilität."

Ich kann auf meinem C2D soviele Programme mit Endlosschleifen starten wie ich will. Das hat keine Folgen, solange diese Endlosschleifen, den Kernel nicht aus dem Tritt bringen oder das OS wegen Speichermangel anfängt zu swappen. Der Kernel vergibt an die Prozesse die CPU Zeit. Meine Endlosschleifen fordern zwar vom Kernel ständig Prozessorzeit an, aber der Kernel hält sich stur(vereinfacht ausgedrückt) an die Prozeßliste. Von dem großen Kuchen werden immer nur kleine Stücke abgegeben, damit alle was davon haben. Was steckt da für eine Hardware(Speicher, CPU, Netzwerkkarte) drin? Ist der Server schon am swappen? Gibt es irgendwelche Auffälligkeiten in den Eventlogs des Servers?

Viel Erfolg!

sarabande
private Nachricht | Beiträge des Benutzers
knuti
myCSharp.de - Member



Dabei seit:
Beiträge: 3

Themenstarter:

beantworten | zitieren | melden

danke für die Antworten und Ideen,
werde das bei den Kunden mal testen mit dem Servicepack.

Gruß
private Nachricht | Beiträge des Benutzers