Использование памяти приложением DotNET

Мое приложение (DotNET) работает как подключаемый модуль внутри автономного приложения C++, которое предоставляет C++/CLI SDK.

Моим пользователям очень легко генерировать большие объемы данных, и я хотел бы предложить опцию прерывания, если потребление памяти моим подключаемым модулем + базовым приложением достигает, скажем, 90% разрешенного максимума.

Как измерить общее потребление памяти (в идеале как для управляемого , так и для неуправляемого кода) и как узнать, сколько памяти Windows позволяет текущему приложению?


person David Rutten    schedule 03.09.2009    source источник


Ответы (3)



GetProcessMemoryInfo и проверьте PrivateUsage в PROCESS_MEMORY_COUNTERS_EX.

Обновить

Очевидно, я ошибся в вопросе, и хотя вам нужно значение со стороны CLI SDK приложения. В управляемой части вы уже получили правильный ответ.

person Remus Rusanu    schedule 04.09.2009
comment
Спасибо, в любом случае. Очень признателен. - person David Rutten; 04.09.2009

Я рекомендую инструмент профилирования: dotTrace работает очень хорошо.

person Community    schedule 03.09.2009
comment
Что мне нужно, так это способ для моего приложения узнать, сколько памяти оно использует во время выполнения. Я не ищу приложение для профилирования. По сути, я хочу, чтобы количество личных байтов, используемых моим процессом, отображалось в обозревателе процессов/диспетчере задач. - person David Rutten; 04.09.2009