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


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

於是,在網上找了了一個查看內存的工具RamMap,具體的內容,大家可以到網上仔細看看這篇文章:《解決Windows內存問題的兩個小工具RamMap和VMMap》

這個軟件大家可以到網上去下載。

通過RamMap工具,發現占用內存是MetaFile這個東西占用的,於是同事提示使用這個工具來限制metafile對內存的使用。

《Windows Server 2008 MetaFile設置占用內存限制》

文章具體內容:

 

   MetaFile可以理解為系統緩存,Windows server 2008系統中,比如存在大量的文件拷貝等磁盤io操作,系統會自動將其緩存到內存中,這部分被占用的內存在任務管理器的中未體現出來的,所以用戶會認為系統的內存占用異常。同時,MetaFile默認是沒有限制的,所以系統會無限制占用內存。

       目前微軟有針對推出一個Microsoft Windows Dynamic Cache的更新程序,用戶可以下載后添加到服務中,通過修改注冊表來限制動態緩存的最大值,比如設置上限為200M等,這樣系統就可以把作為緩存使用的內存設置了上限值。

下載地址: 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位處理器版本)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM