Каковы опасности ручной настройки IncreaseUserVA?


8

Я запускаю Visual Studio 2010 в 32-битной системе и регулярно сталкиваюсь с проблемами из-за нехватки виртуальной памяти, поэтому я больше не могу делать такие вещи, как копирование / вставка в VS.

Я проверил несколько вариантов, и строка Microsoft указала на то, что она работает с меньшим количеством открытых расширений, и если это не сработало, используйте команду IncreedUserVA 3072 bcedit / set.

Это, похоже, смягчило проблему, однако после примерно дня использования Windows неожиданно начинает сообщать мне, что у меня недостаточно места на диске - более 100 ГБ доступно. Например, он остановит копирование файла, заявив, что не было места для его копирования. Однако нажатие кнопки «повторить» будет успешным. Многие другие программы, которые записывают данные на диск, будут регулярно падать. (Включая Skype ... почему ты все время пишешь на диск, Skype ?!)

Я запустил chkdsk и провел другие базовые проверки, прежде чем пришел к выводу, что изменение конфигурации должно быть причиной. К счастью, восстановление настроек по умолчанию сработало, и теперь я снова в действии.

В большинстве статей (за исключением, в частности, в Microsoft) на IncreaseUserVA написано «Используйте на свой страх и риск», и, очевидно, я это сделал и потерял. Но может ли кто-нибудь объяснить, почему это поведение было продемонстрировано / что может пойти не так с тем, что кажется законным изменением конфигурации Windows 7?

Для справки - это был ноутбук Dell Vostro с дисководом 260 ГБ / 5400 об / мин, ОЗУ 3,2 ГБ (эффективная), работающим под управлением Windows 7 со всеми обновлениями до SP1.


Если что-то пойдет не так, как я могу установить его обратно по умолчанию. Запустив эту команду bcedit / set IncreaseUserVA 2048 ??
Саравана Кумар

Ответы:


6

Windows делит доступное 4 ГБ адресного пространства в 32-битной системе пополам, так что ядро ​​получает 2 ГБ, а программа получает 2 ГБ (виртуализируется, поэтому каждая программа получает 2 ГБ). Команда «bcedit / set IncreaseUserVA 3072» изменяет разбиение так, что каждая программа получает 3 ГБ, а пространство ядра - только 1 ГБ. В основном это работает нормально, но, как вы заметили, у вас могут возникнуть проблемы. Обычно это какой-то драйвер, работающий в пространстве ядра, который жестко запрограммирован для предположения, что он имеет 2 ГБ доступного адресного пространства, что вызывает проблемы, когда он пытается использовать 2 ГБ адресного пространства, не пытаясь проверить, может ли он.


0

Если у вас 8 ГБ ОЗУ и вам нужно больше адресного пространства пользователя, лучшее решение - установить сервер Windows 2003. Никаких настроек не требуется, и ваши 32-битные приложения получают по 4 ГБ адресного пространства каждое. Есть некоторые драйверы, которым это не нравится, и поэтому MS не включает это в настольных ОС. Сбои, вызванные наличием драйвера, который не поддерживает это, непредсказуемы и их трудно диагностировать, и в основном это драйверы, которые не используются в серверной среде.

Можно изменить ядро ​​Vista / Win7 и добавить его в качестве опции в меню загрузки, чтобы получить ту же память, которая доступна в 32-разрядных выпусках сервера:

www.geoffchappell.com/notes/windows/license/memory.htm

Есть готовый патч, который делает это, но я не проверял его, и нет никакого источника к нему ...


Как уже упоминалось, патч называется patch2pae. Копия найдена в wj32.org/wp/2010/05/04/pae-patch-updated-for-windows-7. Что это делает, это исправило загрузчик Windows и ядро, чтобы получить доступ за пределами адресного пространства 4GB через расширение PAE.
g5thomas

0

Иногда я устанавливал IncreaseUserVa на 3g, чтобы получить большой проект для компиляции. Я заметил, что если система переходит в спящий режим, она становится очень нестабильной после пробуждения. Я думаю, что серверы обычно не спят.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.