Microsoft рекомендует использовать ключ / 3Gb в Boot.ini, чтобы получить больше памяти для процесса, работающего в 32-битной системе.
В настоящее время мне нужно много памяти для процесса devenv (Visual Studio 2008), потому что у меня есть комплексное решение, которое имеет много проектов и форм и потребляет много ресурсов во время разработки.
Я хотел бы спросить, если кто-нибудь знает, каковы негативные аспекты использования ключа / 3Gb, есть ли обстоятельства, когда его не рекомендуется использовать.
windows
performance
memory
32-bit
Bogdan_Ch
источник
источник
Ответы:
На настольном компьютере проблем, скорее всего, нет. Выгружаемый пул ядра меньше на компьютере W2K3 / WXP с набором ключей / 3GB. Вероятно, это не проблема для настольного компьютера, потому что вам не следует приближаться к исчерпанию выгружаемого пула ядра. На сервере исчерпание выгружаемого пула ядра вызовет проблемы, и, скорее всего, вы его исчерпаете.
Вот несколько подробностей о памяти ядра, связанной с ключом / 3GB. Если вы действительно хотите, вы можете запустить отладчик ядра NT и профилировать вашу систему до и после изменений, используя информацию в этом документе: http://blogs.technet.com/markrussinovich/archive/2009/03/26 /3211216.aspx
источник
У вас будет меньше памяти для вашего ядра - переключатель корректирует разделение адресного пространства режима ядра / адресного пространства пользовательского режима, ранее от 2 ГБ до 2 ГБ, от 1 ГБ до 3 ГБ. Прочтите сообщение Раймонда Чена на / 3GB и последующие действия, прежде чем продолжить.
источник
Прежде чем вносить какие-либо изменения, вы должны сначала проверить, связаны ли процессы, которые вы хотите запустить, с флагом LARGEADDRESSAWARE. С флажком не будет никаких изменений в том, как процесс использует память.
Вы можете использовать SDK Tools для этого:
Заголовки выкладывать должны включать в себя:
Я сделал проверку на devenv.exe и в VS2008 он включает флаг.
источник
Множество недостатков. По умолчанию Windows выделяет пул памяти объемом 4 ГБ для каждого процесса, который делится на 50/50 между процессами режима ядра (общими для всех приложений) и процессами пользовательского режима (уникальными для каждого приложения) (упрощенное объяснение). Поэтому приложение, работающее в системе, имеет 2 ГБ памяти для игры, а сама система имеет свои 2 ГБ. Важное примечание: эти вторые 2 ГБ - те же 2 ГБ для всех приложений, работающих в системе.
Параметр / 3GB настраивает разделение таким образом, чтобы режим ядра получил 1 ГБ, а пользовательский режим - 3 ГБ.
Теперь рассмотрим приложения, которые вы используете. Некоторым из них потребуется больше места в режиме ядра, другим - больше места в режиме пользователя. Поскольку пул режима ядра является общим, вы можете очень быстро исчерпать там память, если вы запускаете приложения, которые создают нагрузку на память режима ядра. С другой стороны, если ваши приложения используют много памяти пользовательского режима, реализация / 3GB предоставит им необходимый запас.
Так что все зависит от природы приложений, которые вы хотите запустить. Золотое правило - консультироваться с поставщиком приложения и читать документацию; в частности, если у поставщика приложений нет рекомендаций, в любом случае вам следует начать подозревать ... они правильно протестировали свое приложение или нет? Это основные вещи, которые должен знать каждый продавец.
Здесь довольно хорошее обсуждение всего этого: http://blogs.technet.com/askperf/archive/2007/03/23/memory-management-demystifying-3gb.aspx
В вашем конкретном случае я думаю, что переключение на 64-битную версию и увеличение объема ОЗУ будет более жизнеспособным решением, поскольку / 3GB не даст вам того, что вы хотите (работает ли это даже на XP?)
источник
Мы использовали его на нескольких системах, на которых работали приложения для обработки изображений на большом количестве больших изображений, и никогда не замечали никаких проблем. В любых ситуациях, когда вам требуется дополнительный гигабайт памяти приложения, вы, вероятно, позволите приложению работать и больше ничего не делать с системой, поэтому, вероятно, это не окажет большого влияния.
источник
Я видел, как это мешает видеокартам странным образом. Но любой драйвер может плохо работать с этим переключателем, если он не написан должным образом.
Иногда эти проблемы можно обойти, добавив ключ / USERVA.
http://support.microsoft.com/kb/319043
http://support.microsoft.com/kb/833721
http://support.microsoft.com/kb/839490
http://support.microsoft.com/kb / 316739
источник
Он работает надежно (за исключением драйверов отладки и т. Д.) На ОС сервера предприятия для двоичных файлов LARGEADDRESSAWARE.
devenv не такой бинарный. SQL Server и Exchange есть, например.Вам потребуется x64 битная ОС
и VS x64edit: LARGEADDRESSAWARE обнаружен на x64, чтобы преодолеть ограничение в 2 ГБ.источник