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