ограничение системных ресурсов в windows 2003
4294
7
Используем 4 ядерную машину с установленной на ней windows 2003 server x64 для расчетов. Хотелось бы чтобы система загружала и резервировала минимальное количество памяти для системных ресурсов. Можно ли это как-то настроить?
evgeny
Вопрос следующий.
В 64х битной версии до сих пор осталось ограничение на то, что приложение не может занимать больше чем объем памяти минус 2 гб на систему? То есть Даже если 8 гигабайт памяти, то приложение больше 6 не может занять и с этим никак нельзя бороться?
evgeny
>> В 64х битной версии до сих пор осталось ограничение на то,
Как это понять? Осталось с 32х битных систем? Если да, то это не верно.
>> что приложение не может занимать больше чем объем памяти минус 2 гб на систему?
Первый раз слышу такое.

В 64х битной системе 32битное приложение может получить 2 по-умолчанию и до 3 (4, если не ошибаюсь, в windows server) с модификацией исполняемого файла, 64битное приложение может использовать всю память системы (а вообще до 8 терабайт). Windows Server 2003 x64 может использовать до терабайта оперативной памяти.

Кажется понял, что имеется ввиду. Вы исходили из стандартного максимального объёма 4 гигабайт памяти на систему и 2 гигабайт на процесс в 32битной windows. Но это не верно, в 32х битной windows процессу можно адресовать до 3х гигабайт памяти, если модифицировать исполняемый файл.

Что касается первого поста, то не верна постановка вопроса. Процессы используют столько памяти, сколько им необходимо - отключайте ненужные, плюс настраивайте систему (например, в Windows XP можно было выгружать из памяти неиспользуемые dll'ки и выкидывать ядро в своп). Если я правильно вас понял.
RealWega
Таки ошибся. В Windows Server 32битное обычное приложение при модификации может получить до 3ех гигов (но там есть нюансы).
Плюс система резервирует себе 2 гигабайта под нужды ядра (т. н. раздел привилегированного режима). Из этих двух один можно забрать в область процесса, тогда ему станет доступно 3 гигабайта (как и писал выше) - ключевые слова: /3GB и IMAGE_FILE_LARGE_ADDRESS_AWARE. Но при отъёме 1 гига памяти от раздела привилегированного режима возникают нюансы, например, система не сможет использовать более 16 гбайт оперативной памяти.
RealWega
Приложения, использующие AWE могут обращаться ко всей доступной физической памяти, например:
Microsoft SQL Server 2005 может использовать до 64 гигабайт оперативной памяти в Microsoft Windows 2000 Server и Microsoft Windows Server 2003.
evgeny
В 64х битной версии до сих пор осталось ограничение на то, что приложение не может занимать больше чем объем памяти минус 2 гб на систему? То есть Даже если 8 гигабайт памяти, то приложение больше 6 не может занять и с этим никак нельзя бороться?
Что за ерунда такая? Если бы было так, то при памяти меньше 2 гиг вообще бы ничего не работало.
evgeny
Я делал тест и одно приложение не может занять памяти больще только 6 гигов, а есть 8. Несколькими приложениями конечно можно занять всю область памяти.
evgeny
Как бы "библия програмиста" Platform SDK


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win64/win64/introducing_64_bit_windows.asp

Introducing 64-bit Windows
A 64-bit operating system supports far more physical memory than a 32-bit operating system. For example, most 32-bit Windows systems support a maximum of 4 gigabytes of physical memory, with up to 3 gigabytes of address space for each process, while 64-bit Windows supports up to 1 terabyte of physical memory with 8 terabytes of address space for each process.


ну и дальше по ссылкам.