Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как выделить невыгружаемую память? [D6, WinXP]


Hanson3003 ©   (2002-11-26 09:31:00) 

Спасите. Срочно.

На компе 1 ГГб, прога просит 850.
Винды сталкивают мои массивы в файл подкачки, что сильно замедляет работу.
Отключение файла подкачки приводит к Exception.

Спасибо.


Hanson3003   (2002-11-29 09:42:00) [1]

Вроде победил аж двумя спсобами :
- выделением и блокировкой памяти в драйвере;
- переходом на Kylix.


Игорь Шевченко   (2002-11-27 12:41:00) [2]

Тогда только терпеть. Или подробнее про программу рассказывать.


Hanson3003   (2002-11-27 12:10:00) [3]

Памяти добавить не могу в связи с аппаратными ограничениями (этот P4 поддерживает только 2 слота).
Программа не оптимизируется - сжато до невозможности.


esu   (2002-11-26 22:19:00) [4]


> На компе 1 ГГб, прога просит 850.

Поставить еще 1Гб памяти. Потом подумать как бы немножко оптимизировать потребление памяти...


Morfein   (2002-11-26 20:44:00) [5]

что-то сомнительно, что функция имеет ограничение...
А насчёт того, что говорит Игорь Шевченко, не знаю, сам не пробовал...


Игорь Шевченко   (2002-11-26 12:12:00) [6]


> и не будет выгружаться на винт.


Будет :-)


Hanson3003   (2002-11-26 11:59:00) [7]

VirtualLock имеет ограниченное действие по размеру выделяемой памяти


Hanson3003   (2002-11-26 11:56:00) [8]

SetProcessWorkingSetSize не сработал.
Отрабатывает нормально. Значение устанавливает (проверяю через GetProcessWorkingSetSize), но память добавляет не реально, а к файлу подкачки


Morfein   (2002-11-26 10:26:00) [9]

The VirtualLockfunction enables a process to lock one or more pages of committed memory into physical memory (RAM), preventing the system from swapping the pages out to the paging file. It can be used to ensure that critical data is accessible without disk access. Locking pages into memory is dangerous because it restricts the system"s ability to manage memory. Excessive use of VirtualLockcan degrade system performance by causing executable code to be swapped out to the paging file.


Morfein   (2002-11-26 10:13:00) [10]

Функция SetProcessWorkingSetSize.
Работает только под NT, для использования треба привилегию SE_DEBUG_NAME и SE_INC_BASE_PRIORITY_NAME.
Задаёт количество памяти для процесса, которое всегда будет находится в RAM и не будет выгружаться на винт.


Игорь Шевченко   (2002-11-26 09:41:00) [11]

А никак ее не выделить :-)
А программу переписать...


Наверх

Титульная страница Поиск, карта сайта Написать письмо