Windows Server 2008 MetaFile設置佔用內存限制

最近遇到Windows Server 2008服務器內存持續飆升,48G內存用了99%,查看任務管理器的進程,也沒發現具體哪一個進程用的內存比較大?html

因而,在網上找了了一個查看內存的工具RamMap,具體的內容,你們能夠到網上仔細看看這篇文章:《解決Windows內存問題的兩個小工具RamMap和VMMap》windows

這個軟件你們能夠到網上去下載。緩存

經過RamMap工具,發現佔用內存是MetaFile這個東西佔用的,因而同事提示使用這個工具來限制metafile對內存的使用。服務器

《Windows Server 2008 MetaFile設置佔用內存限制》工具

文章具體內容:spa

 

   MetaFile能夠理解爲系統緩存,Windows server 2008系統中,好比存在大量的文件拷貝等磁盤io操做,系統會自動將其緩存到內存中,這部分被佔用的內存在任務管理器的中未體現出來的,因此用戶會認爲系統的內存佔用異常。同時,MetaFile默認是沒有限制的,因此係統會無限制佔用內存。server

       目前微軟有針對推出一個Microsoft Windows Dynamic Cache的更新程序,用戶能夠下載後添加到服務中,經過修改註冊表來限制動態緩存的最大值,好比設置上限爲200M等,這樣系統就能夠把做爲緩存使用的內存設置了上限值。htm

下載地址: http://www.microsoft.com/en-us/download/details.aspx?id=9258 進程

具體設置步驟以下:內存

1. 解壓後根據不一樣系統版本中對應的DynCache.exe文件複製到C:\windows\system32中。

2. 以管理員身份打開命令提示符,執行以下命令添加服務:

      sc create DynCache binPath= %SystemRoot%\System32\DynCache.exe start= auto type= own DisplayName= "Dynamic Cache Service"

3. 回到DynCache文件夾,找到DynCache.reg的註冊表文件導入。

4. 打開註冊表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters

5. 右側找到MaxSystemCacheMBytes,雙擊它,這裏咱們選擇「十進制」,在數值裏輸入要限制最大的緩存數(單位是MB),輸入800就是限制緩存最大爲800MB,輸入0爲不限制。

6. 到服務中啓動DynCache服務。

注:下載的dyncache解壓出來是有多幾個版本可選的,請選擇retail amd64的版本,不要選擇ia64(ia64表示安騰的64位處理器版本)。