當系統檔案快取中,會消耗大部分的實體 RAM 時,遇到應用程式和服務中的效能問題

文章翻譯 文章翻譯
文章編號: 976618 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

您遇到應用程式中的效能問題和各種版本的 Windows XP,Windows Vista,Windows Server 2003,Windows Server 2008 和 Windows Server 2008 R2 的服務。此外,您會看到下列徵狀:
  • 幾乎用盡時可用的記憶體。
  • 系統檔案快取會消耗大部分的實體 RAM。
  • 沒有到硬碟的快取讀取要求的連續和高磁碟區。

發生的原因

在 Microsoft Windows 作業系統中的記憶體管理使用以需要為基礎的演算法。如果任何處理要求 和使用 大量記憶體的處理序的工作組 (實體 RAM 中的記憶體分頁數目) 的大小會增加。如果這些要求是連續且未核取,程序的工作組會增加到耗用所有實體 RAM。在此情況下,所有其他的處理序的工作集被移出至硬碟。這種行為會減少應用程式和服務的效能,因為持續地寫入硬碟,從硬碟讀取記憶體頁。

這種情形也適用於系統檔案快取的工作集。如果沒有任何處理程序或從任何驅動程式的快取讀取要求的連續和高磁碟區,系統檔案快取工作集大小會增大以滿足這個需求。系統檔案快取會消耗的實體 RAM。因此,其他處理程序沒有足夠的實體 RAM 的量。

在 Microsoft Windows 作業系統的 Windows Vista 以前的 32 位元版本,系統檔案快取工作集有較少的 than1 GB 的理論的記憶體限制。虛擬位址範圍的限制會防止系統檔案快取工作集耗盡實體 RAM。

在 32 位元版本的 Windows Vista 作業系統,會以動態方式配置核心資源。系統檔案快取的工作集增加耗用核心模式,但代價是其他核心資源的虛擬位址範圍。此記憶體範圍的限制為小於 2 GB。如果電腦有 2 GB 以上的實體 RAM,快取無法耗盡所有實體 RAM。不過,快取可以耗盡核心中的虛擬位址空間。這可能會造成其他核心元件的配置失敗。

在 64 位元版本的 Windows 作業系統,虛擬位址範圍的大小大於通常實體 RAM。在此情況下,可以增加系統檔案快取的工作集消耗掉大部份的實體 RAM。

其他可行方案

若要解決這個問題,請使用GetSystemFileCacheSize API 函式和SetSystemFileCacheSize API 函式來設定系統檔案快取工作集的最大值或最小大小值。使用這些函數是唯一支援的方法,以限制系統檔案快取的實體記憶體的消耗。

Microsoft Windows 動態快取服務是示範使用這些 Api,這個問題的影響降至最低的策略之一的範例服務。

安裝和使用 Microsoft 動態快取服務並不會排除的 Microsoft Windows 的支援。這項服務,原始? 式碼會顯示一些範例說明如何使用 Microsoft 支援的 Api 以減少檔案系統快取的成長。

可以從下列連結在 Microsoft 網站中下載的服務和來源的程式碼:
http://www.microsoft.com/downloads/details.aspx?FamilyID=e24ade0a-5efe-43c8-b9c3-5d0ecb2f39af&displaylang=en

狀況說明

Microsoft 已經確認這是 「 適用於 」 一節中所列的 Microsoft 產品中的問題。

其他相關資訊

記憶體管理演算法,在 Windows 7 和 Windows Server 2008 R2 的作業系統中已更新來解決許多檔案快取在較早版本 Windows 中發現問題。有只有某些您不必實作這項服務正在執行 Windows 7 或 Windows Server 2008 R2 的電腦上的唯一情況。

如何判斷是否會影響您的系統

若要判斷您的系統是否受到這個問題,請安裝 SysInternals RamMap 工具。您可以從下列 Windows Sysinternals 網站取得這個工具:

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

當您執行此工具時,選取 [使用計算選項。這會顯示說明記憶體使用量的目前模式的幾個資料行。按一下 [使用中的資料行,排序所使用的位元組數目,請注意頂端的使用方式,直接在 [總計] 下。

如果上方使用計數就是 「 中繼檔 」,並且如果正在使用大量記憶體,您遇到 「 徵狀 〉 一節所述的系統檔案快取問題。如果要確認,可以使用效能監視器 」 來監視Memory\System 快取內建位元組計數器,看看不斷隨著時間不斷成長的快取。

圖 1。範例 RamMap 輸出的電腦發生問題。

摺疊此圖像展開此圖像
rammap1


圖 2。範例 RamMap 輸出的電腦沒有問題。

摺疊此圖像展開此圖像
rammap2


效能監視器中的 IftheMemory\System 快取內建位元組計數器顯示向上走向經過一段時間,電腦發生問題,如 [圖 3 所示。

圖 3。範例效能監視器 」 輸出電腦在經過一段時間遇到問題。

摺疊此圖像展開此圖像
perfmon

重新啟動需求

您沒有重新啟動電腦,當您安裝、 解除安裝,或使用此服務。

屬性

文章編號: 976618 - 上次校閱: 2014年3月1日 - 版次: 5.0
這篇文章中的資訊適用於:
  • Microsoft Windows XP Professional x64 Edition
  • Windows Vista 家用入門版
  • Windows Vista 家用進階版
  • Windows Vista 商用入門版
  • Windows Vista 商用進階版
  • Windows Vista 旗艦版
  • Windows Vista 家用入門 64 位元版
  • Windows Vista 家用進階 64 位元版
  • Windows Vista 商用進階 64 位元版
  • Windows Vista 旗艦 64 位元版
  • Microsoft Windows Server 2003 R2 Datacenter x64 Edition
  • Microsoft Windows Server 2003 R2 Enterprise x64 Edition
  • Microsoft Windows Server 2003 R2 Standard x64 Edition
  • 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
關鍵字:?
kbexpertiseinter kbtshoot kbsurveynew kbprb kbmt KB976618 KbMtzh
機器翻譯
請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。
按一下這裡查看此文章的英文版本:976618
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com