<menuitem id="cxwpg"></menuitem>
    <menuitem id="cxwpg"><optgroup id="cxwpg"><thead id="cxwpg"></thead></optgroup></menuitem>
  1. <option id="cxwpg"></option>
    <div id="cxwpg"><td id="cxwpg"></td></div>
        1. <samp id="cxwpg"><strong id="cxwpg"></strong></samp>
        2. <track id="cxwpg"><span id="cxwpg"></span></track>
          <bdo id="cxwpg"><optgroup id="cxwpg"></optgroup></bdo>
          返回首頁
          當前位置: 主頁 > Windows教程 >

          Windows2008系統緩存耗盡導致服務器死機問題的解決辦法

          時間:2018-09-01 00:05來源:Office教程學習網 www.12042044.com編輯:麥田守望者

          不知道從什么時候開始,網上開始流傳一種說法,WS2008系統自帶緩存有Bug,然后可能導致服務器內存耗盡而死機!然后網上就出了一些工具解決這些問題!

          下面是來自微軟官方的資料,并已證實Windows2008系統確實存在該問題,但在Windows 7和Windows Server 2008r2版本中已經得到更新,“可以解決已經發現的問題”。

          鏈接:https://support.microsoft.com/zh-cn/kb/976618

          下面是微軟官方資料的一些中文解釋。

          癥狀:

          可用內存是幾乎耗盡。

          系統文件緩存耗用大量物理 RAM。

          存在對磁盤持續且大量的緩存讀取請求。

          原因:

          在 Microsoft Windows 操作系統中的內存管理使用基于請求的算法。如果任何進程請求,并使用大量內存,進程的工作集 (在物理內存中的內存頁面數) 都會增大。如果這些請求持續且未加抑制,進程的工作集將會增長至占用所有的物理內存。在此情況下,其他所有進程的工作集調出到硬盤。這種行為降低了應用程序和服務的性能,因為內存頁是連續寫入硬盤和從硬盤讀取的。

          這種行為同樣適用于系統文件緩存的工作集。如果這些請求是連續的且不受控制的,則該進程的工作集將繼續增長,直到消耗盡所有物理內存。在這種情況下,所有其他進程的工作集分頁到硬盤,被占用的物理內存量不可用于其他進程。

          在 32 位 Windows 操作系統版本早于 Windows Vista,系統文件緩存的工作集是有理論內存限制為小于 1 千兆字節 (GB)。

          在 32 位版本的 Windows Vista 操作系統,動態分配核心資源。

          在 64 位版本的 Windows 操作系統,虛擬地址范圍通常通常超過了物理大小。

          解決方法:

          若要變通解決此問題,請使用GetSystemFileCacheSize API 函數和SetSystemFileCacheSize API 函數來設置系統文件緩存的工作集的大小最大值或最小值。

          Microsoft Windows 動態緩存服務是演示如何使用這些 Api 來將這一問題的影響降至最低的一種策略的示例服務。

          安裝和使用 Microsoft 動態緩存服務不會排除對 Microsoft Windows 的支持。

          您可以從以下 Microsoft 網站獲得服務和源的代碼:

          http://www.microsoft.com/downloa ... 39af&displaylang=en

          自制Dynamic Cache Service下載,限制最大緩存500MB,最小緩存100MB:DynCache.rar

          更多信息:

          在 Windows 7 和 Windows Server 2008 R2 操作系統的內存管理算法已更新,可以解決許多早期Windows版本中發現的問題。

          如何確定您的系統是否受影響?

          若要確定您的系統是否受此問題,請安裝 SysInternals RamMap 工具。

          微軟下載:http://technet.microsoft.com/en-us/sysinternals/ff700229

          運行該工具時,選擇使用計數選項。這將顯示多個列,以顯示當前模式的內存使用情況。單擊Active列進行排序使用字節數,并注意總使用量(Total)。如果排列在頂部的使用計數是”Metafile”,并使用了大部分可用的內存。或者您遇到”癥狀”一節中描述的系統文件緩存問題。可以對其進行如此驗證: 即通過使用性能監視器監視的Memory\System Cache Resident Bytes計數器并查看隨著時間的推移不斷增長的緩存用量。

          圖一:存在問題的 RamMap 示例。

          RamMap01.png

          圖二:正常的 RamMap 示例。

          RamMap02.png

          如果在性能監視器中的Memory\System Cache Resident Bytes計數器顯示一段時間的上升趨勢,計算機如圖三所示出現問題。

          圖三:性能監視器輸出示例的計算機遇到問題隨著時間的推移。

          RamMap03.png

          這篇文章中的信息適用于:

          Microsoft Windows XP Professional x64 Edition

          Windows Vista Home Basic

          Windows Vista Home Premium

          Windows Vista Business

          Windows Vista Enterprise

          Windows Vista Ultimate

          Windows Vista Home Basic 64-bit edition

          Windows Vista Home Premium 64-bit edition

          Windows Vista Enterprise 64-bit edition

          Windows Vista Ultimate 64-bit edition

          Microsoft Windows Server 2003 R2 Datacenter Edition (64-Bit x86)

          Microsoft Windows Server 2003 R2 Enterprise Edition (64-Bit x86)

          Microsoft Windows Server 2003 R2 Standard Edition (64-Bit x86)

          Microsoft Windows Server 2003, Datacenter x64 Edition

          Microsoft Windows Server 2003, Enterprise x64 Edition

          Microsoft Windows Server 2003, Standard x64 Edition

          Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems

          Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems

          Windows Server 2008 Datacenter without Hyper-V

          Windows Server 2008 Enterprise without Hyper-V

          Windows Server 2008 Standard without Hyper-V

          Windows Server 2008 Datacenter

          Windows Server 2008 Enterprise

          Windows Server 2008 Standard

          Windows Server 2008 for Itanium-Based Systems

          Windows Server 2008 R2 Datacenter

          Windows Server 2008 R2 Enterprise

          Windows Server 2008 R2 Service Pack 1

          Windows Server 2008 R2 Standard

          結論:

          1、Windows 2008自身緩存問題確實存在,但是2008 r2版本已有更新,可解決一部分問題,但是可能還會有未知問題;

          2、使用微軟官方API可以控制緩存大小,以及查詢當前緩存大小;只是不知道限制緩存大小會有什么后果;

          3、Windows 2012沒這種問題;

          4、這個問題可以算是微軟的Bug,但也需要有一些“不嚴謹的程序”來觸發,才會產生相應癥狀,所以也不完全是微軟的問題;

          ------分隔線----------------------------
          標簽(Tag):windows Windows服務器死機問題
          ------分隔線----------------------------
          推薦內容
          猜你感興趣
          内蒙古11选5计划
          <menuitem id="cxwpg"></menuitem>
            <menuitem id="cxwpg"><optgroup id="cxwpg"><thead id="cxwpg"></thead></optgroup></menuitem>
          1. <option id="cxwpg"></option>
            <div id="cxwpg"><td id="cxwpg"></td></div>
                1. <samp id="cxwpg"><strong id="cxwpg"></strong></samp>
                2. <track id="cxwpg"><span id="cxwpg"></span></track>
                  <bdo id="cxwpg"><optgroup id="cxwpg"></optgroup></bdo>
                  <menuitem id="cxwpg"></menuitem>
                    <menuitem id="cxwpg"><optgroup id="cxwpg"><thead id="cxwpg"></thead></optgroup></menuitem>
                  1. <option id="cxwpg"></option>
                    <div id="cxwpg"><td id="cxwpg"></td></div>
                        1. <samp id="cxwpg"><strong id="cxwpg"></strong></samp>
                        2. <track id="cxwpg"><span id="cxwpg"></span></track>
                          <bdo id="cxwpg"><optgroup id="cxwpg"></optgroup></bdo>