Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Сколько RAM использует приложение


Автор: CYBERDREAM 24.11.2010, 09:50
Собственно занимаемый объем можно глянуть:
1. В диспетчере
2. Process.GetCurrentProcess().PrivateMemorySize64

Но показатели бывает отличаются на 5мб. Кому верить? 
Может есть др. способ найти ответ находящийся ближе всего к истине

Автор: gambit 24.11.2010, 13:10
я бы верил диспедчеру. Возможно, PrivateMemorySize64 показывает сколько приложение загрузило. А какая ниб системная  либа потянула за собой еще, и об этом не уведомляется приложение.

Автор: CYBERDREAM 24.11.2010, 13:44
А вот такой случай
Приложение занимает 31мб (в диспетчере). Сворачиваю окно, и разворачиваю обратно - падает до 9 сразу, и потом до 18мб поднимается, но не выше.
Это что то выгрузилось что ли)

(MSDN: "Для уменьшения расхода памяти, сверните окно"  smile )

Добавлено через 3 минуты и 28 секунд
Process.GetCurrentProcess().PrivateMemorySize64 показаний так не меняет

Автор: jonie 24.11.2010, 14:16
CYBERDREAM, а вы, стесняюсь спросить, какую колонку смотрите в диспетчере задач? Наверно объем вирт памяти?)

Автор: CYBERDREAM 24.11.2010, 14:32
не стесняйся)
Смотрю память. Объем вирт. памяти не меняется при сворачиваии

Автор: jonie 24.11.2010, 14:44
CYBERDREAM, ну так вы, наверно, уже знаете за что отвечает параметр "память" диспетчера задач, не так ли?)

Автор: CYBERDREAM 24.11.2010, 14:56
а чего сразу на вы?)
Цитата

CYBERDREAM, ну так вы, наверно, уже знаете за что отвечает параметр "память" диспетчера задач, не так ли?) 

конечно) как стишок )
Цитата

Working Set refers to the total physical memory (RAM) used by the process. However, unlike private bytes, this also includes memory-mapped files and various other resources, so it's an even less accurate measurement than the private bytes. This is the same value that gets reported in Task Manager's "Mem Usage" and has been the source of endless amounts of confusion in recent years. Memory in the Working Set is "physical" in the sense that it can be addressed without a page fault; however, the standby page list is also still physically in memory but not reported in the Working Set, and this is why you might see the "Mem Usage" suddenly drop when you minimize an application.


но чему верить то не пойму до конца
Private Bytes are what your app has actually allocated, but include pagefile usage; - по ходу самое близкое к истине?
Working Set is the non-paged Private Bytes plus memory-mapped files;                    - как то не похоже что наше
Virtual Bytes are the Working Set plus paged Private Bytes and standby list.            - ээээ

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)