打开任务管理器,发现一名为tcpsvcs.exe的进程,占用了约1.9G的虚拟内存
尝试将DHCP服务重启,发现虚拟内存立即恢复至正常。第二天一早,再次查看,发现虚拟内存又达到了1.9G。和另一台正常的DHCP服务器,比较DHCP服务中设置的相关参数,未发现异常。
求助于互联网这个百科全书,输入相关内容进行搜索,并没有发现什么有价值的内容。又访问微软的支持与帮助中心http://support.microsoft.com ,经查找,发现了一条与我所述情况非常接近的知识库文章 http://support.microsoft.com/kb/939928/zh-cn。按该文章的说法:“因为 Dnsapi.dll 模块未正确管理一些内存资源,将出现此问题。”而且,如果关闭DHCP配置参数中的DNS动态更新设置,这个问题就不会出现。经测试,发现我的情况确实如此。
解决方法:
方法一:禁用DHCP的DNS动态更新功能
1、单击开始,单击运行,键入dhcpmgmt.msc,然后单击确定
2、在控制台树中,用鼠标右键单击对应于 DHCP 服务器的节点,然后单击属性
3、在DNS选项卡上,单击以清除根据下面的设置启用 DNS 动态更新复选框,然后单击确定
4、重新启动 DHCP 服务器服务。例如,在命令提示符下键入以下命令,然后按 ENTER 键:Net stopDHCPServer & & Netstart DHCPServer
这个方法适合于没有DNS动态更新需要的情况。但如果有内部的DNS服务,且需要通过DHCP服务,将DHCP客户端的机器名与IP地址的映射关系更新到DNS服务中,以实现通过机器名访问内部电脑的需求的话,这个功能是不能禁用的。
方法二:更新补丁
微软已针对该问题有了补丁,但由于windows server 2003 的SP3 服务包还没有发布,所以,只能单独下载。下载的方法如下:
1、打开该知识库文章 http://support.microsoft.com/kb/939928/zh-cn
2、点击页面上端的“可用热修复补丁程序”后,会自动跳转至相应的下载页面。
3、选择相应版本的补丁程序,并输入你的邮箱地址并提交后。会将相应的下载地址发到你填写的邮箱中。按邮件的说明和链接下载即可。
这个方法是根本的解决之道。但也有一定的风险,如果选择版本错误,或者因为一些其它原因,安装后,可能会出现其它的问题。所以,用这个方法前,一定要仔细确认你的问题,是否与知识库文章中所述的一致,确认选择的补丁版本是正确的,确认你的windows server 2003 是已经打了SP1或SP2的等。