Windwos Server 2008 中出現物理內存占用極高甚至宕機,但任務管理器中各進程的內存占用並不多。此問題可能是由於Server 2008中為保證服務器性能不限制系統緩存,服務器系統長時間執行I/O,系統文件緩存不斷占用物理RAM造成,現在通過限制系統緩存大小來解決。
方法/步驟
-
首先以管理員身份登錄計算機,從微軟網站下載一個叫 Microsoft Windows Dynamic Cache Service 的工具(這個是微軟Microsoft的工具不是廣告),如圖在百度中搜索即可找到,進入微軟網站點擊網頁中的紅色Download按鈕,稍等會自動彈出下載保存對話框
-
現在下載Microsoft Windows Dynamic Cache Service的默認文件名是DynCache.zip(這里以這個文件名為例),解壓這個文件到 DynCache 文件夾(下面筆者以這個文件名稱為例),得到如圖這些文件,如果你的英文不錯可以閱讀ReadMe.docx查看詳細使用方法,如果不好請繼續看下文
-
打開Retail文件夾,得到如圖的文件夾,這里的文件夾是根據自己的操作系統和CPU需要選擇不同版本,這里簡單解釋一下:
1) I386,即我們最為常見的X86架構的計算機和操作系統(32位),這里我們右擊——計算機——選擇“屬性”,就可以看到系統類型是32位還是64位,如果是32位則使用I386文件夾下面的文件。
2) AMD64,就是我們最常用的64位架構的計算機和操作系統,家用的64位計算機基本都是這種架構,而且我們最常用的阿里雲服務器E系列至強CPU也是AMD64。
3) IA64 是intel面向高端的64位 CPU ,這種CPU 是不能兼容原先的 X86 下的程序,這種架構日常並不多見,所以這里就不詳細說,I-tanium(安騰)系列CPU則是采用這種架構。
這里筆者的用的是AMD64文件夾(下面以這個為例)
-
1) 打開AMD64文件夾,找到DynCache.exe,復制這個文件。
2) 打開“計算機”,在地址址中輸入 %SystemRoot%\System32 (事實是就是X:\Windows\System32,X代表系統盤,這里筆者的是C盤),粘貼剛才的DynCache.exe到這里。
-
然后我們以管理員身份運行“命令提示符”,復制下面粗斜體的命令到“命令提示符”中,右擊粘貼(手動輸入注意空格和引號),然后按下回車鍵。
sc create DynCache binpath= %SystemRoot%\System32\DynCache.exe start= auto type= own DisplayName= "Dynamic Cache Service"
-
接着我們回到DynCache文件夾,這里找到一個名為DynCache.reg的注冊表文件,雙擊導入。
-
1) 最后我們打開“注冊表”編輯器(開始——運行——輸入——regedit——確定),依次展開 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters
2) 在右側找到 MaxSystemCacheMBytes,雙擊它,這里我們選擇“十進制”,在數值里輸入要限制最大的緩存數(單位是MB),例如筆者輸入800就是限制緩存最大為800MB,輸入0為不限制。
3) 如果想卸載本工具,在“命令提示符”中依次輸入sc stop DynCache —— 回車 —— sc delete DynCache —— 回車
3) 最后重啟計算機即可,該工具還有其他一些設置,就不在本文的討論范圍內了,有興趣的自行閱讀ReadMe.docx吧。
END