데스크톱 힙 제한으로 인해 "메모리가 부족합니다." 오류 메시지가 표시될 수 있음

적용 대상: Windows Vista Enterprise 64-bit EditionWindows Vista Home Basic 64-bit EditionWindows Vista Home Premium 64-bit Edition 자세히

증상


Windows에서 여러 응용 프로그램 창을 연 후에 창을 추가로 열지 못할 수 있습니다. 그리고 창이 열리더라도 필요한 구성 요소는 포함되어 있지 않습니다. 또한 다음과 유사한 오류 메시지가 나타날 수 있습니다.
메모리가 부족합니다.

원인


이 문제는 데스크톱 힙 제한으로 인해 발생합니다. 일부 창을 닫고 다른 창을 열려고 하면 창이 열릴 수는 있습니다. 그러나 이 방법을 사용하더라도 데스크톱 힙 제한은 계속 적용됩니다.

해결 방법


중요 이 절, 방법 또는 작업에는 레지스트리를 수정하는 방법에 대한 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 다음 단계를 주의하여 수행해야 합니다. 추가 보호 조치로 레지스트리를 수정하기 전에 해당 레지스트리를 백업하는 것이 좋습니다. 이렇게 하면 문제가 발생하더라도 레지스트리를 복원할 수 있습니다. 레지스트리를 백업, 편집 및 복원하는 방법에 대한 자세한 내용을 확인하려면 다음 문서 번호를 클릭하여 Microsoft 기술 자료를 참조하세요.
322756 Windows에서 레지스트리를 백업 및 복원하는 방법
이 문제를 Microsoft에서 해결하도록 하려면 "해결 지원" 절로 이동하세요. 이 문제를 직접 해결하려면 "직접 해결" 절로 이동하세요.

해결 지원



Vista 및 Windows 7에서 이 문제를 자동으로 해결하려면 문제 수정 단추나 링크를 클릭합니다. 파일 다운로드 대화 상자에서 실행을 클릭하고 문제 수정 마법사의 단계를 따릅니다.



참고
  • 이 마법사는 영어로만 제공될 수도 있습니다. 그러나 다른 언어 버전의 Windows에서도 자동 해결 기능을 사용할 수 있습니다.
  • 현재 문제가 있는 컴퓨터에서 작업하고 있지 않은 경우 문제 수정 솔루션을 플래시 드라이브 또는 CD에 저장한 후 문제가 있는 컴퓨터에서 실행하세요.
  • 자동 수정 파일에서 SharedSection 레지스트리 항목의 두 번째 값이 20480으로, SharedSection 레지스트리 항목의 세 번째 값이 1024로 늘어났습니다.

그런 다음 "문제가 해결되었습니까?" 절로 이동합니다.



직접 해결


이 문제를 해결하려면 데스크톱 힙 크기를 수정합니다. 이 작업을 수행하려면 다음 단계를 따르세요.
  1. 시작을 클릭하고 검색 시작 상자에 regedit를 입력한 다음 프로그램 목록에서 regedit.exe를 클릭합니다.

    참고
    관리자 암호나 확인을 요청하는 메시지가 나타나면 암호를 입력하거나 계속을 클릭합니다.
  2. 다음 레지스트리 하위 키를 찾아서 클릭합니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems
  3. Windows 항목을 마우스 오른쪽 단추로 클릭한 다음 수정을 클릭합니다.
  4. 문자열 편집 대화 상자의 값 데이터 섹션에서 SharedSection 항목을 찾은 다음 이 항목의 두 번째 값과 세 번째 값을 늘립니다.
참고
  • SharedSection 레지스트리 항목의 두 번째 값은 대화형 윈도우 스테이션과 연결된 각 데스크톱의 데스크톱 힙 크기입니다. 대화형 윈도우 스테이션(WinSta0)에서 작성되는 각 데스크톱에는 힙이 필요합니다. 해당 값은 KB(킬로바이트) 단위입니다.
  • 세 번째 SharedSection 값은 "비대화형" 윈도우 스테이션과 연결된 각 데스크톱의 데스크톱 힙 크기입니다. 해당 값은 KB(킬로바이트) 단위입니다.
  • 두 번째 SharedSection 값에는 20480KB보다 큰 값을 설정하지 않는 것이 좋습니다.
기본적으로 x86 기반 버전의 Windows Vista에서는 Windows 레지스트리 항목에 다음 데이터가 포함되어 있습니다.
%SystemRoot%\system32\csrss.exe
ObjectDirectory=\Windows
SharedSection=1024,3072,512
Windows=On
SubSystemType=Windows
ServerDll=basesrv,1
ServerDll=winsrv:UserServerDllInitialization,3
ServerDll=winsrv:ConServerDllInitialization,2
ProfileControl=Off
MaxRequestThreads=16

참고 x86 기반 버전의 Windows Vista에서 SharedSection 항목의 두 번째 값은 기본적으로 3072입니다. 그리고 x64 기반 버전의 Windows Vista에서 이 항목의 두 번째 값은 기본적으로 20480입니다.

Windows Vista SP1, 7, 8, 8.1(32비트)/Windows Server 2008(32비트)
SharedSection=1024, 12288,512

Windows Vista, 7, 8, 8.1(64비트)/Windows Server 2008, 2008 R2, 2012, 2012 R2(64비트)
SharedSection=1024, 20480,768


Windows Vista 이상 버전의 운영 체제에서는 메모리가 동적으로 할당됩니다. 그러므로 메모리 할당에 제한이 없습니다. 그러나 데스크톱 힙에 메모리를 너무 많이 할당하면 성능이 저하될 수 있습니다. 그러므로 20480보다 큰 값은 설정하지 않는 것이 좋습니다.

참고 컴퓨터의 실제 RAM은 데스크톱 힙 크기에 영향을 주지 않습니다. 따라서 실제 RAM을 추가해도 성능을 개선할 수는 없습니다.

참조


유사한 문제에 대한 자세한 내용을 확인하려면 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하세요.

126962 다수의 프로그램이 실행되고 있을 때 "메모리 부족" 오류 메시지가 나타남

318677 PRB: MDI 응용 프로그램에서 허용되는 자식 창의 최대 수에 도달하면 자식 창을 더 만들 수 없으며 기타 문제가 발생함

터미널 서비스 환경의 세션 메모리 문제에 대한 자세한 내용을 확인하려면 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하세요.

840342 터미널 서비스 환경에서 응용 프로그램이 올바르게 실행되지 않을 수 있음


데스크톱 힙에 대한 자세한 내용을 보려면 다음 Microsoft 웹 사이트를 방문하세요.

문제가 해결되었습니까?

  • 문제가 해결되었는지 확인합니다. 문제가 해결되었다면 이 절에 설명된 작업이 끝난 것이지만 문제가 해결되지 않은 경우에는 기술 지원 서비스에 문의할 수 있습니다.
  • 여러분의 의견을 기다립니다. 의견을 보내거나 이 해결 방법에 대한 문제점을 보고하려면 "Fix it for me" 블로그에 의견을 남겨 주시거나 전자 메일을 보내 주세요.