AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Mein Prozess hat auf einmal hundertausende Handles

Mein Prozess hat auf einmal hundertausende Handles

Ein Thema von Der schöne Günther · begonnen am 18. Aug 2017 · letzter Beitrag vom 1. Sep 2021
Antwort Antwort
Seite 2 von 4     12 34   
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#11

AW: Mein Prozess hat auf einmal hundertausende Handles

  Alt 20. Aug 2017, 17:28
Eventuell vergessen im Fehlerfall noch offene Handles zu schließen? Try...except...end?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.747 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

AW: Mein Prozess hat auf einmal hundertausende Handles

  Alt 21. Aug 2017, 09:07
Dann, denke ich, würde das bei allen Installation auftreten und höchstwahrscheinlich auch die Handle-Anzahl mit der Zeit kontinuierlich wachsen.

Ich werde zunächst irgendwie mal ein bisschen Logging einbauen was die Handle-Anzahl des eigenen Prozesses angeht, bei dem Kunden aktivieren und ansonsten denke ich darüber nach alle Druckvorgänge in einen eigenen Prozess auszulagern, den könnte man nach jedem Druck-Vorgang schließen...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.743 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: Mein Prozess hat auf einmal hundertausende Handles

  Alt 21. Aug 2017, 10:34
Dann, denke ich, würde das bei allen Installation auftreten und höchstwahrscheinlich auch die Handle-Anzahl mit der Zeit kontinuierlich wachsen.
Nicht unbedingt.
Eventuell knallt es ja auch nur bei diesem Kunden,
dann würde eine falsche Fehlerbehandlung auch nur da zuschlagen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
TiGü
Online

Registriert seit: 6. Apr 2011
Ort: Berlin
2.837 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#14

AW: Mein Prozess hat auf einmal hundertausende Handles

  Alt 21. Aug 2017, 10:38
War denn 23 Stunden und 59 Minuten alles gut und schön und grüne Wiese mit Regenbogeneinhörnern mit Puschelschwänzchen UND DANN ging der Hades auf und verschlang alle Handles des Systems ODER stieg nur für dieses System kontinuierlich vom Start an im Laufe der Zeit die Anzahl der Handles?

Workaround Idee 1: Ist es praktikabel eure Anwendung alle XX Stunden automatisch neu zu starten?

Workaround Idee 2: Druckausgaben in PDF umleiten und die dann später zum Netzwerkdrucker schicken?

Idee von Luckie nochmal aufgreifen und alle Try-Handler angucken.
Irgendwo werden Handles im Fehlerfall nicht zu gemacht.
Wird der Fehler wirklich protokolliert?
Ggf. schluckt das einfach die RTL oder sonstige verbaute Internet-Komponenten und man bekommt nichts mit?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.743 Beiträge
 
Delphi 10.4 Sydney
 
#15

AW: Mein Prozess hat auf einmal hundertausende Handles

  Alt 21. Aug 2017, 10:44
Nur der Vollständigkeit halber:

Natürlicgh kann es sein, dass z.B. ein Usermdedriver des Druckers/Printsystems hier durchdreht und die Handles nicht im eigenen, sondern in fremden Code entstehen (dort nicht richtig freigegeben werden).
Mit einem anderem Programm drucken und da schauen, ob das Problemchen dort auch auftritt.



PS: Man kann die eigene Anwendung auch auf mehrere EXEn verteilen und das Ausdrucken in einem Subsystem erledigen, damit der Hauptprozess störungsfreier arbeiten kann.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.747 Beiträge
 
Delphi 10 Seattle Enterprise
 
#16

AW: Mein Prozess hat auf einmal hundertausende Handles

  Alt 21. Aug 2017, 11:57
War denn 23 Stunden und 59 Minuten alles gut
So ungefähr. Ich konnte keinen kontinuierlichen Anstieg beobachten. Ich konnte auch nicht ständig dort im Task-Manager wühlen oder in Ruhe den Windows-Performance-Monitor aufsetzen da Zugriff nur per TeamViewer und die Leute brauchen den Bildschirm zum arbeiten.

Ist es praktikabel eure Anwendung alle XX Stunden automatisch neu zu starten?
Nein, das ist leider keine Option.

Wird der Fehler wirklich protokolliert?
Ggf. schluckt das einfach die RTL oder sonstige verbaute Internet-Komponenten und man bekommt nichts mit?
Das Problem ist ja: Was ist "der Fehler"? Ich sehe nur die Auswirkungen: Hohe Handle-Anzahl im Task-Manager und im Exception-Log des Programms dass alle möglichen Operationen wie Dateien öffnen oder Netzwerk-Sockets mit NOT_ENOUGH_QUOTA fehlschlagen.

Mit einem anderem Programm drucken und da schauen, ob das Problemchen dort auch auftritt.
Das werde ich unbedingt testen müssen. Und zwar nicht nur Notepad, sondern am besten gleich einmal ein komplettes Delphi-Druck-Test-Programm mit Vcl.Printers und FastReport.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.743 Beiträge
 
Delphi 10.4 Sydney
 
#17

AW: Mein Prozess hat auf einmal hundertausende Handles

  Alt 21. Aug 2017, 12:37
Etwas zum Loggen.
MSDN-Library durchsuchenGetProcessHandleCount


Wir hatten auch ab und an mal Probleme mit irgendwelchen Ressourcen, in einem Service, beim Kunden.
Bei uns läuft daher im Hintergrund ein Thread, der regelmäßig danach schaut und das loggt. So können wir dann nachsehen wann in der letzten Woche sich dort was änderte.
> Speicher (HDD, System-Memory, VirtualMemory, DelphiMM-Allocation), Handles, Threads, CPU-Auslasung (Prozess und System), Status einiger Locks (CritialSections), ...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (21. Aug 2017 um 12:46 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.747 Beiträge
 
Delphi 10 Seattle Enterprise
 
#18

AW: Mein Prozess hat auf einmal hundertausende Handles

  Alt 21. Aug 2017, 13:15
Ja, genau solchen Kram einzubauen bin ich grade dran

Insbesondere den FastMM Usage Tracker.
  Mit Zitat antworten Zitat
TiGü
Online

Registriert seit: 6. Apr 2011
Ort: Berlin
2.837 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#19

AW: Mein Prozess hat auf einmal hundertausende Handles

  Alt 21. Aug 2017, 13:23
OT:
Das Schlimme ist, das bei solchen aufwendigen und zeitraubenden Fehlern die Ursache sich innerhalb von ein bis drei Zeilen Quelltext finden und fixen lässt.
Der Aufwand zur Fehlersuche und tatsächliche Fehlerbehebung stehen oft in einen krassen Missverhältnis.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.747 Beiträge
 
Delphi 10 Seattle Enterprise
 
#20

AW: Mein Prozess hat auf einmal hundertausende Handles

  Alt 21. Aug 2017, 13:34
Oh ja. Aber noch viel schlimmer als diese drei Zeilen (die potentiell noch bei anderen Kunden zutreffen könnten) wäre die Tatsache wenn es sein beschissener Netzwerkdrucker ist den es nur bei ihm gibt
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf