Вы можете получить сообщение об ошибке "Нехватка памяти" из-за ограничения кучи рабочего стола

Эта статья поможет исправить ошибку "Нехватка памяти", которая возникает при открытии нескольких окон приложений в Windows.

Применимо к: Windows Server 7 с пакетом обновления 1, Windows Server 2012 R2
Исходный номер базы знаний: 947246

Симптомы

После открытия нескольких окон приложений в Windows вы не сможете открыть дополнительные окна. Иногда окно может открываться, но не будет содержать ожидаемые компоненты. Кроме того, появляется сообщение об ошибке, примерно следующее:

Недостаточно памяти

Причина

Эта проблема возникает из-за ограничения кучи рабочего стола. При закрытии некоторых окон и попытке открыть другие окна эти окна могут открыться. Однако этот метод не влияет на ограничение кучи рабочего стола.

Разрешение

Важно!

В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому следует в точности выполнять приведенные инструкции. Для дополнительной защиты создайте резервную копию реестра, прежде чем редактировать его. Так вы сможете восстановить реестр, если возникнет проблема. Для получения дополнительной информации о том, как создать резервную копию и восстановить реестр, см. статью Сведения о резервном копировании и восстановлении реестра Windows.

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

  1. Нажмите кнопку Пуск, введите regedit в поле Начать поиск , а затем выберите regedit.exe в списке Программы .

    Примечание.

    Если появится запрос на ввод пароля администратора или подтверждение, введите пароль или нажмите кнопку Продолжить.

  2. Найдите и выберите HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems подраздел реестра.

  3. Щелкните правой кнопкой мыши запись Windows и выберите Изменить.

  4. В разделе Данные значения диалогового окна Изменение строки найдите SharedSection запись, а затем увеличьте второе и третье значение для этой записи.

    Примечание.

    • Второе значение SharedSection записи реестра — это размер кучи рабочего стола для каждого рабочего стола, связанного с интерактивной оконной станцией. Куча требуется для каждого рабочего стола, созданного на станции интерактивного окна (WinSta0). Значение задается в килобайтах (КБ).
    • Третье SharedSection значение — это размер кучи рабочего стола для каждого рабочего стола, связанного с неинтерактивной станцией окна. Значение задается в килобайтах (КБ).
    • Не рекомендуется задавать значение, которое превышает 20480 КБ для второго SharedSection значения.

По умолчанию запись реестра Windows содержит следующие данные в x86-разрядной версии Windows 7 с пакетом обновления 1 (SP1).

%SystemRoot%\system32\csrss.exe
ObjectDirectory=\Windows
SharedSection=1024, 12288,512
Windows=On
SubSystemType=Windows
ServerDll=basesrv,1
ServerDll=winsrv:UserServerDllInitialization,3
ServerDll=winsrv:ConServerDllInitialization,2
ProfileControl=Off
MaxRequestThreads=16

Windows 7 с пакетом обновления 1 (SP1) (64-разрядная версия) / Windows Server 2008 R2, 2012 R2 (64-разрядная версия)

SharedSection=1024, 20480 768

Выделение памяти в более поздних операционных системах является динамическим. Ограничения на выделение памяти отсутствуют. Однако при выделении слишком большого объема памяти для кучи рабочего стола может возникнуть снижение производительности. Поэтому не рекомендуется задавать значение, которое превышает 20480.

Примечание.

Размер кучи рабочего стола не зависит от физической ОЗУ на компьютере. Вы не можете повысить производительность путем добавления физической ОЗУ.

Это устранит проблему

Проверьте, устранена ли проблема. Если проблема не устранена, обратитесь в службу поддержки.

Ссылки

Обзор кучи рабочего стола