Re[3]: можно одним процессом выделить более 2 Гб памяти и ка
От: Andrew S Россия http://alchemy-lab.com
Дата: 01.02.06 21:44
Оценка: 13 (2)
S_B>>А если почитать здесь?

L>Почитал, и всё таки я не всё понимаю. Что у каждого процесса своя виртуальная память и каждый процесс может выделить 2 Гб я понимаю. /3GB увеличивает user space в виртуальной памяти для каждого процесса или он делит какое-то общее для всех процессов область? Что-то запутали меня эти статьи.



Там в основном демагогия, кроме http://blogs.msdn.com/oldnewthing/archive/2004/08/12/213468.aspx

L>Т.е. если включить /3gb то когда мы смотрим сколько памяти для процесса доступно, то получаем 3Гб. Но когда я пытаюсь алоксировать, то получаю не больше 2. Я не рассматриваю filemapping.

L>Вообще я где-то в msdn наталкивался, что надо какие-то директивы включать в си, чтобы это работало...

L>Т.ч. спасибо за информацию, была полезна, но можно еще чуть подробнее


Это не в С, это опция PE. Директива линкера /LARGEADDRESSWARE. Кстати, не факт, что получится аллоцировать сильно больше 2 гб непрерывно.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
можно одним процессом выделить более 2 Гб памяти и как?
От: legofrend  
Дата: 01.02.06 19:05
Оценка:
Я включаю опцию /3Gb в windows 2003, чтобы можно было алоксировать больше 2 Гб памяти, но VirtualAlloc по-прежнему позволяет алоксировать не более 2 Гб. Полагал, что это из-за фрагментации памяти, но и маленькими кусками не получается выделить больше.
Читал msdn, но ничего толкового не нашёл.

01.02.06 22:23: Перенесено модератором из 'C/C++' — Павел Кузнецов
Re: можно одним процессом выделить более 2 Гб памяти и как?
От: Sergeant_BY Беларусь  
Дата: 01.02.06 20:27
Оценка:
Здравствуйте, legofrend, Вы писали:

L>Я включаю опцию /3Gb в windows 2003, чтобы можно было алоксировать больше 2 Гб памяти, но VirtualAlloc по-прежнему позволяет алоксировать не более 2 Гб. Полагал, что это из-за фрагментации памяти, но и маленькими кусками не получается выделить больше.

L>Читал msdn, но ничего толкового не нашёл.
А если почитать здесь?
Re[2]: можно одним процессом выделить более 2 Гб памяти и ка
От: legofrend  
Дата: 01.02.06 21:20
Оценка:
Здравствуйте, Sergeant_BY, Вы писали:

S_B>А если почитать здесь?


Почитал, и всё таки я не всё понимаю. Что у каждого процесса своя виртуальная память и каждый процесс может выделить 2 Гб я понимаю. /3GB увеличивает user space в виртуальной памяти для каждого процесса или он делит какое-то общее для всех процессов область? Что-то запутали меня эти статьи.

Т.е. если включить /3gb то когда мы смотрим сколько памяти для процесса доступно, то получаем 3Гб. Но когда я пытаюсь алоксировать, то получаю не больше 2. Я не рассматриваю filemapping.
Вообще я где-то в msdn наталкивался, что надо какие-то директивы включать в си, чтобы это работало...

Т.ч. спасибо за информацию, была полезна, но можно еще чуть подробнее
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.