Ich habe einen WCF-Dienst über MSMQ ausgeführt. Der Speicher nimmt mit der Zeit allmählich zu, was darauf hinweist, dass es eine Art Speicherleck gibt. Ich habe den Dienst lokal ausgeführt und einige Leistungsindikatoren mithilfe von PerfMon überwacht. Die gesamten CLR-Speicher-verwalteten Heap-Bytes bleiben relativ konstant, während die privaten Bytes des Prozesses im Laufe der Zeit zunehmen. Das führt mich zu der Annahme, dass es eine Art unmanaged Speicherleck gibt. Unter der Annahme, dass ein Speicherleck nicht verwaltet wird, wie behebe ich das Problem? Gibt es irgendwelche Werkzeuge, die ich verwenden könnte, um mir Hinweise zu geben, was das nicht gemanagte Speicherleck verursacht? Außerdem ist mein gesamter Dienst das Lesen aus der Transaktionswarteschlange und das Schreiben in eine Datenbank, alles als Teil einer DTC-Transaktion (unter der Haube gehandhabt, indem eine Transaktion für den Dienstvertrag erforderlich ist). Ich mache nichts explizit mit COM oder DllImports.Wie untersucht man nicht verwaltete Speicherverluste in .NET?
Vielen Dank im Voraus!
ANTS Profiler unterstützt nicht verwaltetes Speicher Profiling. – abhilash