<menuitem id="cxwpg"></menuitem>
    <menuitem id="cxwpg"><optgroup id="cxwpg"><thead id="cxwpg"></thead></optgroup></menuitem>
  1. <option id="cxwpg"></option>
    <div id="cxwpg"><td id="cxwpg"></td></div>
        1. <samp id="cxwpg"><strong id="cxwpg"></strong></samp>
        2. <track id="cxwpg"><span id="cxwpg"></span></track>
          <bdo id="cxwpg"><optgroup id="cxwpg"></optgroup></bdo>
          返回首页
          当前位置: 主页 > Windows教程 >

          Windows2008系统缓存耗尽导致服务器死机问题的解决办法

          时间:2018-09-01 00:05来源:Office教程学习网 www.12042044.com编辑:麦田守望者

          不知道从什么时候开始,网上开始流传一种说法,WS2008系统自带缓存有Bug,?#32531;?#21487;能导致服务器内存耗尽而死机!?#32531;?#32593;上?#32479;?#20102;一些工具解决这些问题!

          下面是来自微软官方的资料,并已证实Windows2008系统确实存在该问题,但在Windows 7和Windows Server 2008r2版本中已经得到更新,“可以解决已经发现的问题”。

          链接:https://support.microsoft.com/zh-cn/kb/976618

          下面是微软官方资?#31995;?#19968;些中文解释。

          症状:

          可用内存是几乎耗尽。

          系统文件缓存耗?#20040;?#37327;物理 RAM。

          存在?#28304;?#30424;?#20013;?#19988;大量的缓存读取请求。

          原因:

          在 Microsoft Windows 操作系统中的内存管理使用基于请求的算法。如果任何进程请求,并使?#20040;?#37327;内存,进程的工作集 (在物理内存中的内存页面数) 都会增大。如果这些请求?#20013;?#19988;未加?#31181;疲?#36827;程的工作集将会增长至占用所有的物理内存。在此情况下,其他所有进程的工作集调出到硬盘。这种行为?#26723;?#20102;应用程序和服务的性能,因为内存页是连续写入硬盘和从硬盘读取的。

          这种行为同样适用于系统文件缓存的工作集。如果这些请求是连续的且不受控制的,则该进程的工作集将继续增长,直到消耗尽所有物理内存。在这种情况下,所有其他进程的工作集分页到硬盘,被占用的物理内存量不可用于其他进程。

          在 32 位 Windows 操作系统版本早于 Windows Vista,系统文件缓存的工作集是有理论内存限制为小于 1 千兆字节 (GB)。

          在 32 位版本的 Windows Vista 操作系统,动态分配核心资源。

          在 64 位版本的 Windows 操作系统,虚拟地址范围通常通常超过了物理大小。

          解决方法:

          若要变通解决此问题,请使用GetSystemFileCacheSize API 函数和SetSystemFileCacheSize API 函数来设置系统文件缓存的工作集的大小最大值或最小值。

          Microsoft Windows 动态缓存服务是演示如?#38382;?#29992;这些 Api 来将这一问题的影响降至最低的一种策略的示例服务。

          安装和使用 Microsoft 动态缓存服务不会排除对 Microsoft Windows 的支持。

          您可以从以下 Microsoft 网站获得服务和源的代码:

          http://www.microsoft.com/downloa ... 39af&displaylang=en

          自制Dynamic Cache Service下载,限制最大缓存500MB,最小缓存100MB:DynCache.rar

          更多信息:

          在 Windows 7 和 Windows Server 2008 R2 操作系统的内存管理算法已更新,可以解决许多早期Windows版本中发现的问题。

          如何确定您的系统是否受影响?

          若要确定您的系统是否受此问题,请安装 SysInternals RamMap 工具。

          微软下载:http://technet.microsoft.com/en-us/sysinternals/ff700229

          运行该工具时,选择使用计数选项。这将显示多个列,以显示当前模式的内存使用情况。单击Active列进行排序使用字节数,并注意总使用量(Total)。如果排列在顶部的使用计数是”Metafile”,并使用了大部分可用的内存。或者您遇到”症状”一节中描述的系统文件缓存问题。可以对其进行如?#25628;?#35777;: 即通过使用性能监视器监视的Memory\System Cache Resident Bytes计数器并查?#27492;?#30528;时间的推移不断增长的缓存用量。

          图一:存在问题的 RamMap 示例。

          RamMap01.png

          图二:正常的 RamMap 示例。

          RamMap02.png

          如果在性能监视器中的Memory\System Cache Resident Bytes计数器显示一?#38382;?#38388;的上升趋势,计算机如图三所示出现问题。

          图三:性能监视器输出示例的计算机遇到问题随着时间的推移。

          RamMap03.png

          这篇文章中的信息适用于:

          Microsoft Windows XP Professional x64 Edition

          Windows Vista Home Basic

          Windows Vista Home Premium

          Windows Vista Business

          Windows Vista Enterprise

          Windows Vista Ultimate

          Windows Vista Home Basic 64-bit edition

          Windows Vista Home Premium 64-bit edition

          Windows Vista Enterprise 64-bit edition

          Windows Vista Ultimate 64-bit edition

          Microsoft Windows Server 2003 R2 Datacenter Edition (64-Bit x86)

          Microsoft Windows Server 2003 R2 Enterprise Edition (64-Bit x86)

          Microsoft Windows Server 2003 R2 Standard Edition (64-Bit x86)

          Microsoft Windows Server 2003, Datacenter x64 Edition

          Microsoft Windows Server 2003, Enterprise x64 Edition

          Microsoft Windows Server 2003, Standard x64 Edition

          Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems

          Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems

          Windows Server 2008 Datacenter without Hyper-V

          Windows Server 2008 Enterprise without Hyper-V

          Windows Server 2008 Standard without Hyper-V

          Windows Server 2008 Datacenter

          Windows Server 2008 Enterprise

          Windows Server 2008 Standard

          Windows Server 2008 for Itanium-Based Systems

          Windows Server 2008 R2 Datacenter

          Windows Server 2008 R2 Enterprise

          Windows Server 2008 R2 Service Pack 1

          Windows Server 2008 R2 Standard

          结论:

          1、Windows 2008自身缓存问题确实存在,但是2008 r2版本已有更新,可解决一部分问题,但是可能还会有未知问题;

          2、使用微软官方API可以控制缓存大小,以?#23433;?#35810;当前缓存大小;只是不知道限制缓存大小会有什么后果;

          3、Windows 2012没这种问题;

          4、这个问题可以算是微软的Bug,但也需要有一些“不严谨的程序”来触发,才会产生相应症状,所以也不完全是微软的问题;

          ------分隔线----------------------------
          标签(Tag):windows Windows服务器死机问题
          ------分隔线----------------------------
          推荐内容
          猜你?#34892;?#36259;
          内蒙古11选5计划
          <menuitem id="cxwpg"></menuitem>
            <menuitem id="cxwpg"><optgroup id="cxwpg"><thead id="cxwpg"></thead></optgroup></menuitem>
          1. <option id="cxwpg"></option>
            <div id="cxwpg"><td id="cxwpg"></td></div>
                1. <samp id="cxwpg"><strong id="cxwpg"></strong></samp>
                2. <track id="cxwpg"><span id="cxwpg"></span></track>
                  <bdo id="cxwpg"><optgroup id="cxwpg"></optgroup></bdo>
                  <menuitem id="cxwpg"></menuitem>
                    <menuitem id="cxwpg"><optgroup id="cxwpg"><thead id="cxwpg"></thead></optgroup></menuitem>
                  1. <option id="cxwpg"></option>
                    <div id="cxwpg"><td id="cxwpg"></td></div>
                        1. <samp id="cxwpg"><strong id="cxwpg"></strong></samp>
                        2. <track id="cxwpg"><span id="cxwpg"></span></track>
                          <bdo id="cxwpg"><optgroup id="cxwpg"></optgroup></bdo>