![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 23.03.2011
Сообщений: 310
|
![]()
Каким способом можно узнать объем оперативной памяти который занимает приложение? Нужно именно программно, а не через такс менеджер например.
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
![]()
таск менеджер получает эту информацию через функцию NtQuerySystemInformation. Она позволяет получить инфу о всех процессах. Информацию по конкретному процессу можно получить через функцию NtQueryInformationProcess с ключом ProcessVmCounters. Копать в эту сторону
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 23.03.2011
Сообщений: 310
|
![]()
Ох что же я ответ пропустил! Спасибо, попробую гм
![]() |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
![]()
что-то я переборщила с NtQueryInformationProcess.
можно проще, через GetProcessMemoryInfo, эта функция является оболочкой вокруг NtQueryInformationProcess(.., ProcessVmCounters,....)
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 23.03.2011
Сообщений: 310
|
![]() Код:
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
![]()
так он работает или нет?
просто сейчас под рукой нет компилятора проверила бы, если я не ошибаюсь QuotaPagedPoolUsage это "Объём виртуальной памяти" в диспетчере. потыкавшись можно найти соответствие между полями структуры и полями диспетчера. тупо всё вывести и найти соответствие
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
|
![]() |
![]() |
![]() |
#7 | ||
Форумчанин
Регистрация: 23.03.2011
Сообщений: 310
|
![]()
работает выдает в 6 раз больше чем есть приблизительно
Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 23.03.2011
Сообщений: 310
|
![]()
QuotaPagedPoolUsage выдает что то в 8 примерно раз меньше действительного то что показывает диспетчер
|
![]() |
![]() |
![]() |
#9 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]() Код:
WorkingSetSize/1024 - очень близкое значение к полю "память" (тестировалось на XP SP3) а по большому счёту поле "виртуальная память" намного адекватнее отражает использование памяти программа. WorkingSetSize - это рабочий набор, сумма памяти занимаемой приложением и в user mode и в kernel mode, т.е. включая всю память отведённую для хранения информации о программе в системе (объект-процесс, объект-поток, хендлы и т.д.) |
![]() |
![]() |
![]() |
#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 |