共用方式為


您可能會因為桌面堆積限制而收到「記憶體不足」錯誤

本文有助於修正當您在 Windows 中開啟許多應用程式視窗時所發生的「記憶體不足」錯誤。

原始 KB 編號: 947246

徵兆

在 Windows 中開啟許多應用程式視窗之後,您可能無法開啟任何其他視窗。 窗口有時可能會開啟,但不會包含預期的元件。 此外,您會收到類似下列的錯誤訊息:

記憶體已用盡

原因

發生此問題的原因是桌面堆積限制。 當您關閉某些視窗,然後嘗試開啟其他視窗時,這些視窗可能會開啟。 不過,此方法不會影響桌面堆積限制。

解決方法

重要

這個章節、方法或工作包含修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必小心執行下列步驟。 為增加保護起見,請先備份登錄,再進行修改。 然後,如果發生問題,您就可以還原登錄。 如需備份和還原登錄的詳細資訊,請參閱如何在 Windows 中備份及還原登錄

若要解決此問題,請依照下列步驟修改桌面堆積大小:

  1. 按兩下 [開始],在 [開始搜尋] 方塊中輸入 regedit,然後在 [程式] 清單中選取 [regedit.exe]。

    注意

    如果系統提示您輸入系統管理員密碼或確認,請輸入您的密碼,或按兩下 [繼續]。

  2. 找出並選取登錄 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems 子機碼。

  3. 以滑鼠右鍵按下 Windows 專案,然後選取 [ 修改]。

  4. 在 [編輯字串] 對話方塊的 [值數據] 區段中,找出SharedSection專案,然後增加這個專案的第二個值和第三個值。

    注意

    • 登錄專案的第二個值 SharedSection 是每個與互動式視窗月臺相關聯的桌面堆積大小。 互動式視窗月臺 (WinSta0) 中建立的每個桌面都需要堆積。 此值以 KB 為單位。
    • 第三SharedSection個值是與非互動式視窗月臺相關聯的每個桌面桌面堆積大小。 此值以 KB 為單位。
    • 我們不建議您為第二 SharedSection 個值設定超過 20480 KB 的值。

根據預設,Windows 登錄專案會在以 x86 為基礎的 Windows 7 Service Pack 1 版本中包含下列數據。

%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 Service Pack 1 (64 位) / Windows Server 2008 R2, 2012 R2 (64 位)

SharedSection=1024, 20480,768

記憶體配置在稍後的作業系統中是動態的。 記憶體配置沒有限制。 不過,如果您將太多記憶體配置給桌面堆積,可能會發生負面效能。 這就是為什麼我們不建議您設定超過 20480 的值。

注意

桌面堆積大小不會受到電腦上的實體 RAM 影響。 您無法藉由新增實體 RAM 來改善效能。

是否已修正問題

檢查問題是否已修正。 如果問題未修正, 請連絡支持人員

參考資料

桌面堆積概觀