Einzelnen Beitrag anzeigen

Thomas9o9

Registriert seit: 29. Jul 2009
2 Beiträge
 
#1

Dienst frisst Speicher - ist Indy schuld?

  Alt 29. Jul 2009, 11:46
Hallo,

ich habe einen Dienst für Windows entwickelt, der über TCP/Ip Kommandos entgegen nimmt und beantwortet. Der Dienst ist dafür ausgelegt, dauerhaft auf Servern zu laufen. Leider zeigt sich, dass der Dienst im Laufe der Zeit immer mehr Speicher verbraucht.
Auffällig ist, dass vor allem der virtuelle Speicher steigt.
Ich habe bereits den gesamten Quellcode geprüft, ob es irgendwo Speicherlecks gibt.
Wenn ich das Programm als EXE laufen lasse, zeigt sich das gleiche Verhalten.
Für die TCP/IP Kommunikation nutzte ich die Indy 10 Komponente TidTcpServer und genau diese habe ich im Verdacht. Ich vermute, das die Indy Komponente neue Threads erzeugt, diese aber nicht wieder beendet.

Kennt vielleicht jemand dieses Verhalten oder hat jemand eine Idee, woran es liegen könnte?


Hier noch ein paar zusätzliche Informationen:

Delphi 2006
Indy 10
Datenbankzugriff per Ibobjects auf Firebird
der Dienst wird ca. alle 10 Sekunden von ca. 10 Rechner kontaktiert.

Speicherverbrauch:
Tag,Speicher,davon ausgelagert
1,11 MB,04 MB
2,27 MB,12 MB
3,24 MB,18 MB
4,37 MB,26 MB
5,54 MB,37 MB
6,65 MB,44 MB
7,63 MB,58 MB
  Mit Zitat antworten Zitat