2011-08-02 9 views
5

Quiero determinar la fuente de gran consumo de memoria de mi aplicación. Mi aplicación está consumiendo mucha memoria virtual (columna VM en el administrador de tareas o bytes privados en VMMap)No se pueden detectar las asignaciones de memoria no administradas en .NET

Mi aplicación es el servicio .NET pero usa envolturas C# alrededor de objetos C++.

Probé el perfilador de memorias Red Gate Ants, pero solo cuenta los objetos administrados y no cuenta la memoria asignada por el nuevo operador no administrado de C++ (que simplemente está llamando Virtual Alloc).

Otro problema con el perfilador de memoria administrada es que no permite rastrear el gráfico de llamadas - ver imagen a continuación.

enter image description here

enter image description here

+0

¿Qué configuración está utilizando en el generador de perfiles de memoria RedGate? con eso encontré hace algún tiempo incluso una pérdida de memoria en una biblioteca de terceros que estaba usando asignaciones no administradas ... – Yahia

+1

¿Por qué no utilizar un generador de perfiles nativo para los bits no administrados? – leppie

+0

leppie, ¿me puede recomendar uno? –

Respuesta

Cuestiones relacionadas