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]