У меня есть служба WCF, работающая поверх MSMQ. Память постепенно увеличивается с течением времени, указывая на то, что происходит утечка памяти. Я запускал службу локально и контролировал некоторые счетчики, используя PerfMon. Суммарное количество хранимых байтов в памяти CLR остается относительно постоянным, а личные байты процесса увеличиваются с течением времени. Это заставляет меня поверить, что существует некоторая неуправляемая утечка памяти. Предполагая, что проблема с неуправляемой утечкой памяти является проблемой, как мне решить проблему? Есть ли какие-либо инструменты, которые я мог бы использовать, чтобы дать мне подсказки относительно того, что вызывает неуправляемую утечку памяти? Кроме того, все, что я делаю, это чтение из транзакционной очереди и запись в базу данных, все как часть транзакции DTC (обрабатывается под капотом, требуя транзакции по контракту на обслуживание). Я ничего явно не делаю с COM или DllImports.
Спасибо заранее!