Вопрос про память

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Вопрос про память

Сообщение AlexPavel » 16.07.2011 18:20:15

Как в Lazarus можно увеличить объем доступной виртуальной памяти более 1.7 Гб для Win32? Выделяю необходимую память для массива с помощью getmem. Оперативка -3Гб. Можно ли с помощью LARGEADDRESSAWARE увеличить доступный объем памяти, если да, то как это сделать?

Добавлено спустя 1 час 42 минуты 18 секунд:
Даже при попытке выделить около 1.55 Гб вылетает ошибка!
AlexPavel
новенький
 
Сообщения: 12
Зарегистрирован: 28.12.2009 20:31:43

Re: Вопрос про память

Сообщение Padre_Mortius » 16.07.2011 21:55:03

Это ограничение системы... Обходится ключами /PAE и /3GB в файле boot.ini
P.S. а вообще стоит пересмотреть алгоритм работы программы
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Вопрос про память

Сообщение AlexPavel » 16.07.2011 22:33:58

Я хотел сделать так: если объем массива больше свободной оперативной памяти (или виртуальной), то он разбивается на части и каждая часть по-очередно обрабатывается и записывается на жесткий диск. При этом получается, что при свободной оперативке около 2 Гб я не могу обрабатывать 1.55 Гб, а хотелось бы максимально задействовать ресурсы компа, потому как при записи массива уже тратится больше времени. А при помощи LARGEADDRESSAWARE нельзя увеличить это ограничение?
А использование ключей /PAE и /3GB в файле boot.ini возможно только в Win XP, а то его в Win 7 нет?
AlexPavel
новенький
 
Сообщения: 12
Зарегистрирован: 28.12.2009 20:31:43

Re: Вопрос про память

Сообщение Padre_Mortius » 16.07.2011 22:47:57

если мне не изменяет память, то на процесс 32-х битная система может выделить не более 1,5 гигов оперативной памяти... В данном случае можно попробовать работать либо блоками, либо использовать файл подкачки
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Вопрос про память

Сообщение Kitayets » 17.07.2011 14:30:51

переходите на 64битную архитектуру :)

вот познавательные ссылки по моделям памяти в виндовс и ограничениям:
http://www.gunsmoker.ru/2011/04/windows.html,
http://www.gunsmoker.ru/2011/04/windows-spin-off.html,
http://www.gunsmoker.ru/2011/06/blog-post.html.
Kitayets
постоялец
 
Сообщения: 171
Зарегистрирован: 05.05.2010 21:15:24

Re: Вопрос про память

Сообщение AlexPavel » 17.07.2011 20:13:16

Padre_Mortius, Kitayets спасибо за ответы. 8)
При переходе на 64 битную винду желательно, чтобы памяти было более 4 Гб или можно и с меньшей памятью?
AlexPavel
новенький
 
Сообщения: 12
Зарегистрирован: 28.12.2009 20:31:43

Re: Вопрос про память

Сообщение Padre_Mortius » 18.07.2011 14:37:52

С меньшей памятью будет не очень комфортно, потому как винда не полностью 64-х битная
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Вопрос про память

Сообщение Kitayets » 19.07.2011 10:20:06

Padre_Mortius писал(а):С меньшей памятью будет не очень комфортно, потому как винда не полностью 64-х битная


Как это не полностью?
это вни95 была кашей 16/32. а теперь microsoft отказалась от такого подхода (когда 32 битный код мог вызывать 16 битные функции). теперь просто слой совместимости SysWoW64, по сути - 32 битная копия системных библиотек, т.е. 32битные приложения работают в 32бином окружении а 64битный в 64битном. Всё также как на GNU/linux например. там тоже есть /lib и /lib64.
Kitayets
постоялец
 
Сообщения: 171
Зарегистрирован: 05.05.2010 21:15:24

Re: Вопрос про память

Сообщение Padre_Mortius » 19.07.2011 12:35:52

Могу привести сразу два примера.. Win7 x86_64 и WinXP x86_64... берем абсолютно голую свежепоставленную систему... запускаем диспетчер задач и видим кучу запущенных 32-х битных приложений... Ядро 64-х битное, но обвязка системы наполовину 32-х битная, в отличие от линукса...
В линуксе если не нужны 32 бита на 64-х битной системе, то эти пакеты можно и не ставить, а вот под виндой такого не получится..
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Вопрос про память

Сообщение Kitayets » 04.08.2011 14:49:34

2Padre_Mortius

вот прямо сейчас смотрю в диспетчер задач на w7 x86_64 и 32-битные только пользовательские приложение, все системные - 64...
Kitayets
постоялец
 
Сообщения: 171
Зарегистрирован: 05.05.2010 21:15:24

Re: Вопрос про память

Сообщение kipar » 04.08.2011 16:12:24

Надо нажать "Отображать процессы всех пользователей". И там, действительно, несколько процессов *32.
kipar
новенький
 
Сообщения: 78
Зарегистрирован: 04.03.2010 12:15:54


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

Рейтинг@Mail.ru