標籤:
最近遇到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位處理器版本)。
Windows Server 2008 MetaFile設定佔用記憶體限制