【翻譯】系統文件緩存耗用大量物理內存問題

原文出處:http://support.microsoft.com/kb/976618算法

原文標題:當系統文件緩存耗用大量物理 RAM,您會遇到應用程序和服務的性能問題(You experience performance issues in applications and services when the system file cache consumes most of the physical RAM)緩存

因爲微軟的機器翻譯實在太爛,因此人工翻譯了一下。app

現象                                                                                    ide

您會在各類版本的 Windows XP、 Windows vista、 Windows Server 2003,Windows Server 2008 和 Windows Server 2008 R2 中遇到應用程序中和服務的性能問題。函數

此外,您還會發現下列現象:工具

  • 可用內存是幾乎耗盡。
  • 系統文件緩存耗用大量物理內存。
  • 存在持續且大量的對磁盤卷的進行緩存讀取的請求。

緣由                                                                                    

Windows 系統使用基於需求的的內存管理算法。若是任何進程請求並使用大量的內存,該進程的工做集(物理內存中可用內存頁面數)就會增大。若是這些請求持續且未受抑制,那麼進程的工做集(working set)將增加至佔用全部的物理內存。在這種狀況下,其餘進程的工做集(working set)將調出到硬盤上。這種現象將下降應用程序和服務的性能,由於內存頁老是在不斷的寫入磁盤又從磁盤中讀出。

這種現象也適用於系統文件緩存的工做集。若是有任何進程或驅動程序持續且大量的對磁盤卷的進行緩存讀取的請求,系統文件緩存的工做集將增加以知足這一需求。系統文件緩存消耗物理內存從而致使其餘進程沒有足夠的物理內存量。

早於Windows Vista的32位Windows系統中,系統文件緩存的工做集有一個小於 1GB的理論上限。

32位的Windows Vista系統動態分配核心資源。

64 位的Windows 操做系統中虛擬地址範圍的大小大於一般的物理內存。性能

解決方案                                                                              

解決此問題須要使用GetSystemFileCacheSize API 函數和SetSystemFileCacheSize API 函數來設置系統文件緩存工做集的最大值或最小大小值。這些函數是惟一能夠限制系統文件緩存對物理內存消耗的方法。

Microsoft Windows Dynamic Cache Service 用來演示一種使用這些 Api 來儘可能減小此問題影響的策略的示例服務。

安裝和使用 Microsoft Windows Dynamic Cache Service不會致使微軟拒絕支持您的系統。提供此服務和它的源代碼做爲示例,說明如何使用 這些Api 來減小文件系統緩存的增加。

能夠經過下面的連接下載服務和源碼:
http://www.microsoft.com/downloads/details.aspx?FamilyID=e24ade0a-5efe-43c8-b9c3-5d0ecb2f39af&displaylang=en
spa

更多信息                                                                              

在Windows 7 和 Windows Server 2008 R2 操做系統的內存管理算法已更新,能夠解決不少系統文件緩存在之前版本的 Windows 中發現的問題。只有某些特殊的狀況,您才須要在計算機正在運行 Windows 7 或 Windows Server 2008 R2 上實現此服務時。操作系統

如何肯定您的系統受此問題影響

經過下列網址下載的SysInternals RamMap 工具,並將其安裝在您的系統:

http://technet.microsoft.com/en-us/sysinternals/ff700229翻譯

安裝、卸載該工具均無需重啓。運行該工具,選擇"Use Counts"視圖,該視圖將顯示多個數據列以闡釋當前的內存使用狀況。單擊"Active"列根據字節數進行排序,並關注Total列中使用率最高的項。

若是正在使用大量內存的是"Metafile",說明您遇到了上述系統文件高速緩存問題。同時咱們還可使用性能監視器監控Memory\System Cache Resident Bytes counter 觀察緩存持續增加的現象來確認正在遭受此問題。

RamMap 的下列輸出說明計算機出現此問題:

RamMap 的下列輸出說明計算機未出現此問題:

使用性能監視器監控Memory\System Cache Resident Bytes counter示例:

 

 

適用此問題的操做系統:
  • 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
相關文章
相關標籤/搜索