解决Windwos Server 2008 R2 耗内存的问题
    文章作者:恒爱网络 阅读次数:7398 发布时间:2018-11-17

    某用户反馈,租用的云服务器安装的Windwos Server 2008 R2系统,8G物理内存,透过任务管理器发现软件实际占用的内存不到4G ,到系统总是运行一段时间后 假死,出现内存耗尽的情况。

    此问题可能是由于Server 2008中为保证服务器性能不限制系统缓存,服务器系统长时间执行I/O,系统文件缓存不断占用物理RAM造成,现在通过限制系统缓存大小来解决。

    首先以管理员身份登录计算机,从微软网站下载一个叫 Microsoft Windows Dynamic Cache Service 的工具 ,下载地址 :https://www.microsoft.com/en-us/download/confirmation.aspx?id=9258

    下载Microsoft Windows Dynamic Cache Service的默认文件名是DynCache.zip(这里以这个文件名为例),解压之后打开Retail文件夹。

    根据自己的操作系统和CPU需要选择不同版本,这里简单解释一下:

    1) I386,即我们最为常见的X86架构的计算机和操作系统(32位),这里我们右击——计算机——选择“属性”,就可以看到系统类型是32位还是64位,如果是32位则使用I386文件夹下面的文件。

    2) AMD64,就是我们最常用的64位架构的计算机和操作系统,家用的64位计算机基本都是这种架构。

    3) IA64 是intel面向高端的64位 CPU ,这种CPU 是不能兼容原先的 X86 下的程序,这种架构日常并不多见,所以这里就不详细说,I-tanium(安腾)系列CPU则是采用这种架构。

    进入到你服务器对应的版本,复制DynCache.exe 粘贴到C:\windows\System32目录下。

    以管理员身份运行“命令提示符”CMD.EXE,复制下面粗斜体的命令到“命令提示符”中,右击粘贴(手动输入注意空格和引号),然后按下回车键。

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

    不出意外的话会提示 : sc create DynCache [成功]

    接着我们回到DynCache文件夹,这里找到一个名为DynCache.reg的注册表文件,双击导入。

    最后我们打开“注册表”编辑器(开始——运行——输入——regedit——确定),依次展开 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters

    在右侧找到 MaxSystemCacheMBytes,双击它,这里我们选择“十进制”,在数值里输入要限制最大的缓存数(单位是MB),例如笔者输入800就是限制缓存最大为800MB,输入0为不限制。

    如果想卸载本工具,在“命令提示符”中依次输入sc stop DynCache —— 回车 —— sc delete DynCache —— 回车

    最后重启计算机即可,该工具还有其他一些设置,就不在本文的讨论范围内了,有兴趣的自行阅读ReadMe.docx吧。