Einzelnen Beitrag anzeigen

Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#1

Threads Überwachen / CallStack

  Alt 19. Sep 2007, 09:59
Hallo

Ich habe eine Anwendung, die auf einem Server ganz normal im Hintergrund läuft (tut im prinzip nix anderes als alle 15 minuten große berechnungen durchzuführen - oder wenn per TCP/IP Anfragen daherkommen, auch neu zu berechnen)
jetzt habe ich das phänomen, das ab und zu die Anwenung 100% CPU Leistung benötigt ... was natürlich nicht so nett ist (es wird auch nichts mehr berechnet)

da hab ich folgende idee
ich schreib mir einen thread, der in intervallen alle anderen threads überwacht, und wenn ein thread der anwendung zu viel cpu zeit oder so konsumiert hat, dann soll der den callstack dieses threads ausgeben ... und je nach einstellung nach gewisser zeit vielleicht, die anwendung neu starten.

hat da jemand vielleicht gute ideen dazu?

vorallem wie kann man erkennen, das ein thread nicht mehr gut läuft? ich möchte vermeiden, einen art watchdog einzubauen, wo der thread immer wieder mal bescheid sagt, das er noch ok ist - die CPU Zeit was so ein thread hat kann man ja niergends auslesen oder? (geht ja nur für prozese?)

hat da wer ne idee dazu?

[edit]dachte mir hab hie irgendwo mal gelesen, man bekommt die CPU Zeit pro Thread nicht raus ... aber das scheint mit GetThreadTimes ja ohne probleme zu gehen ... [/edit]
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat