|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.10.2011, 22:09 | #1 |
Форумчанин
Регистрация: 23.03.2011
Сообщений: 310
|
Объем оперативной памяти
Каким способом можно узнать объем оперативной памяти который занимает приложение? Нужно именно программно, а не через такс менеджер например.
|
05.10.2011, 20:09 | #2 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
таск менеджер получает эту информацию через функцию NtQuerySystemInformation. Она позволяет получить инфу о всех процессах. Информацию по конкретному процессу можно получить через функцию NtQueryInformationProcess с ключом ProcessVmCounters. Копать в эту сторону
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
|
07.10.2011, 15:25 | #3 |
Форумчанин
Регистрация: 23.03.2011
Сообщений: 310
|
Ох что же я ответ пропустил! Спасибо, попробую гм
|
07.10.2011, 15:37 | #4 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
что-то я переборщила с NtQueryInformationProcess.
можно проще, через GetProcessMemoryInfo, эта функция является оболочкой вокруг NtQueryInformationProcess(.., ProcessVmCounters,....)
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
|
07.10.2011, 16:38 | #5 |
Форумчанин
Регистрация: 23.03.2011
Сообщений: 310
|
Код:
|
07.10.2011, 16:53 | #6 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
так он работает или нет?
просто сейчас под рукой нет компилятора проверила бы, если я не ошибаюсь QuotaPagedPoolUsage это "Объём виртуальной памяти" в диспетчере. потыкавшись можно найти соответствие между полями структуры и полями диспетчера. тупо всё вывести и найти соответствие
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
|
07.10.2011, 17:03 | #7 | ||
Форумчанин
Регистрация: 23.03.2011
Сообщений: 310
|
работает выдает в 6 раз больше чем есть приблизительно
Цитата:
Цитата:
|
||
07.10.2011, 17:48 | #8 |
Форумчанин
Регистрация: 23.03.2011
Сообщений: 310
|
QuotaPagedPoolUsage выдает что то в 8 примерно раз меньше действительного то что показывает диспетчер
|
07.10.2011, 18:52 | #9 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
Код:
WorkingSetSize/1024 - очень близкое значение к полю "память" (тестировалось на XP SP3) а по большому счёту поле "виртуальная память" намного адекватнее отражает использование памяти программа. WorkingSetSize - это рабочий набор, сумма памяти занимаемой приложением и в user mode и в kernel mode, т.е. включая всю память отведённую для хранения информации о программе в системе (объект-процесс, объект-поток, хендлы и т.д.) |
07.10.2011, 20:09 | #10 |
Форумчанин
Регистрация: 23.03.2011
Сообщений: 310
|
хех что поделать буду на PagefileUsage орентироваться
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Объём оперативной памяти | _-Re@l-_ | Общие вопросы Delphi | 2 | 16.06.2010 12:58 |
объем статической памяти | Juffin | Общие вопросы Delphi | 1 | 10.11.2009 16:07 |
Ремонт оперативной памяти. | С.М.С | Компьютерное железо | 6 | 06.06.2009 17:20 |
Восстановить из оперативной памяти | Problemaumenya | Помощь студентам | 1 | 08.05.2008 23:01 |
выделение оперативной памяти | Alar | Общие вопросы Delphi | 0 | 29.10.2006 21:56 |