截图工具当前未在计算机上运行 请重启_windows server 2008操作系统长时间未重启存在卡顿的原因...

最近一段时间,我总是遇到服务器用一段时间后就会卡顿!具体表现为客户端的java语言开发的应用程序在做业务操作的时候会卡顿或者提示程序无影响的现象,而且是所有连接到这一台服务器的所有客户端的程序都有这样的现象;这样的情况下,就定位到了服务器上可能存在问题了。马上通过网络远程服务器,但是这时却提示无法远程该服务器!难道是服务器直接宕机了?直奔机房,通过直连的显示器查看该服务器,发现这台服务器也没有死机,机器机箱外壳指示灯也无异常。但是在操作服务的时候特别卡,连操作双击我的电脑的这么一个步骤进入到我的电脑的盘符列表界面都要等上十几秒中。

后来在百度N遍不放弃的态度的搜索和过滤后,最终确认了之前我多次怀疑的问题。就是服务器的可用内存过小导致的服务器里的各种程序应用不能正常运行的问题。之前只是怀疑,因为每次出现这种卡顿故障,重启一下服务器就可以恢复了。之前也百度过多遍,但是一直没有查到比较官方的理由依据。下图就是微软官方的证明了。

97d0c04e2d1b900ad6bc5e75ca238c29.png

微软官方网站对该问题的描述

aac6d3d51360ada09a0ac80f4c79c15c.png

引起卡顿的原因及其症状

0ba80d8707b877335c4651d84d05fcac.png

症状:telnet服务器,网络正常,但是就是不能远程桌面

21f933e6bdec63ac07f3d58f4f81bb85.png

症状2:任务管理器查看可用内存几乎为0了

接下来我就根据官网上的所说的步骤来验证存在这个问题,如下:

1、通过网址http://technet.microsoft.com/en-us/sysinternals/ff700229下载SysInternals RamMap 工具进行查看缓存是否存在持续不断增长中。

a8126f4563afa7f31a3f3e13442e2cf0.png

通过SysInternals RamMap 工具查看缓存是否持续增长

2、再一步使用服务器自带的工具进行查证是否存在这个问题。

82137e20ac8e80b4156756663cde829f.png

找到系统自带的性能监视器

ada6f1a55476cb8dce45ad4ef659af33.png

添加缓存计数器监视1

574260c8188547f278e226ca7d501b9c.png

添加缓存计数器监视2(找到system cache bytes,点击添加)

做完上面的步骤后就可以看到缓存是不是一直增加了,由于我的服务器的截图是重启后的截图了,所以没有呈现到一直增大的趋势图。(因为当时服务器已经卡到没有办法动了,只能重启了)

051772aaadcdb13fbd650f0f96f62e37.png

服务器重启后的截图

如果有问题的话应该是显示如下图的样子。

5dcda763df5d9def1fd8c6a320421fdc.png

性能监视器下缓存不停增加的证据图

然后,就要解决这个问题了;

1、从微软网站下载一个叫 Microsoft Windows Dynamic Cache Service 的工具;但是我尝试微软官网的这个下载网址都无法正常下载,只是能看到下图的这个界面,点击进去却无法打开。后来通过百度在其他网址找到了Microsoft Windows Dynamic Cache Service这个工具。

7639ae630833e51d582081fc47a8e6eb.png

官网这个download下载不了

4329f8f4b6d2e1dc46cd22f1b5374b70.png

这个工具的文件结构目录(大小为1.3M左右)

2、根据自己服务器的操作系统是32位(在下载的文件的I386文件夹目录下复制DynCache.exe文件)还是64位(在下载的文件的AMD64文件夹目录下复制DynCache.exe文件)到相应的目录下复制复制工具中的DynCache.exe文件到服务器操作系统盘的system32文件夹的根目录下。

e4558269edf9bf09bd36c033529be4e8.png

3、通过命令行窗口生成服务。

输入以下命令(注意=和值之间一定要有空格):

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

9b0a794323db56f35083b3c5be4da92e.png

输入命令

613c63cc195ced5e7fb7fbf9851e0ccd.png

命令执行完后会提示成功,并且在服务这里可以看到这个服务

4、双击执行已下载下来的的文件夹里的注册文件DynCache.reg。

af4f98c7c9b5a7785a6995612426f60b.png

导入注册表信息

5、在注册表中找到MaxSystemCacheMBytes(位置HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDynCacheParameters ),双击它,选择“十进制”,在数值里输入要限制最大的缓存数(单位是MB),输入800就是限制缓存最大为800MB,输入0为不限制。

876671ac7f2e9786e1117894cbf666c5.png

在注册表中更新最大缓存值为800(原值为0的,是不限制的)

6、重启服务器后就生效了。因为注册表修改后需要重新启动计算机之后才会生效,不重启之前应用的是修改之前的方案。

7、如果后期需要停用这个改变的话,可以在“命令提示符”中依次输入sc stop DynCache —— 回车 —— sc delete DynCache —— 回车,然后重启服务器就可以停用了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值