快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

葡京娱乐官网下载安装:Windows Server 2008 R2的svchost.exe占用内存导致SQL Server不够内存的解决办法



场景:

近来一台DB办事器有时呈现CPU报警,我的邮件报警阈值设置的是15%,开始时没当回事,以为是有什么统计类的查询,后来越来越频繁。

探索:

我抉择来查一下,究竟是什么在作怪,我排查的顺序如下:

1、首先打开Cacti监控,发明近来CPU均值在某天之后蓦地上升,并且可以看到System\Processor Queue Length 和 sqlservr\%ProcessorTime 也在显明的变更。

2、从最轻易入手的低效SQL开始,斟酌是不是近来营业做了什么改动?连接到该SQL实例,打开活动监视器,展开“近来消费大年夜量资本的查询”,并CPU葡京娱乐官网下载安装光阴倒序,在这里并未发明有即时的消费资本的查询。据小我履历,这里的值假如是4位数,分钟内履行次数3位数,一样平常的办事器CPU大年夜概就10%以上,假如cpu光阴那里是5位数,且分钟内履行次数也很高,几百次以上,那CPU一样平常就会不淡定了。图片仅为演示

3、没有耗资本的SQL,这是DBA最不乐意看到的结果,由于大概,SQL Server受到了来自内部或者外部的压力,使得自己花费了过多的光阴去处置惩罚与操作系统的沟通去了。SQL Server常见的非查询低效类的机能问题,绝大年夜多半都来自于内存或者硬盘,而这两者有的时刻必要同时钻研比较基线,才能确定谁是因,谁是果。在这里,我们首先查看SQL Server内存应用环境,当打开机能计数器时,我和我的小伙伴们都惊呆了……安装了64G内存的数据库,SQL Server的TargetMemory仅有500多兆!这此中Stole葡京娱乐官网下载安装nPage还占用了200多兆,数据库DataPage仅有200多兆的内存可供应用,Oh,Shit!虽然我很不想用“去哪了”这三个字,然则“我的内存去哪了“?同时我们也留意到PageLifeExpectancy值只有26(一个内存充沛的办事器,这个值至少应该是上W的),而很早之前我们津津乐道的"Cache Hit Ration"却仍旧维持一个对照高的水准98! 这个案例奉告我们,缓存射中率这个机能计数器很多时刻阐明不了什么问题。

4、OK,既然这样,是谁占用了本该属于我亲爱的SQL Server的内存呢?我们继承,打开Wiindows义务治理,选定进程选项卡,点击显示所有用户进程,发明svchost.exe占用了绝大年夜多半的60G内存!

5、那svchost.exe又是个什么器械呢?我们下面就用到ProcessMonitor这个对象了,打开后自动加载所有Wi葡京娱乐官网下载安装indows进程,按内存排序后,鼠标移至svchost.exe进程上,显示为Remote Registry办事。

6、查到这里,工作已经有了必然的眉目,这个多数是windows内存泄露Bug,遂google关键词: windows server 2008 r2 remote registry memory leak

找到如下链接:http://support.microsoft.com/kb/2699780/en-us

公然:Assume that you query performance counters on a remote computer by using an application on a computer that is running Windows 7 or Windows Server 2008 R2. In this situation, t葡京娱乐官网下载安装he memory usage of the Remote     Registry service on the local computer increases until the available memory is exhausted.

办理措施:

1、重启办事器,安装hotfix

2、由于重启办事器会影响到营业,以是我在想重启RemoteRegistry办事,应该也能暂时办理问题,这个bug应该是在某种固定情景下发生的。

随后,在相宜的光阴,我重启了这个办事,SQL Server的TargetMemory从新规复到60多G,CPU也正常了,今朝为止该问题未再发生。

后续跟进:

DBA的事情,说难也难,说轻易也轻易,发明问题,办理问题还不敷,我们还要意识到自己的欠缺,在本案例中,我之前并没有建立起SQL Server内存的监控,以是没有在第一光阴就发明病情的严重性,好在该办事器并未承担紧张营业,否则后果不堪设想,说不定早就崩溃过了,后怕之处在于,假如崩溃了,自然要重启办事器,到那个时刻,我们连第一现场都没有,当leader问葡京娱乐官网下载安装起来,我又该使劲挠头了。

该事故之后,我建立起了SQL Server内存的监控,1天后,我重新的监控数据中,又发清楚明了一台办事器呈现相同的问题!我很荣耀,不是荣耀办事器没宕机,而是荣耀我做对了。

附一张内存监控图,可以看到办事重启之后,SQL Server的Total Pages不停在上升,并徐徐稳定,Page life expectancy也在变得越来越大年夜,CPU也能唆使病症已打消,我很欣慰。

总结:

办事器在呈现机能问题前,大年夜部分是提前有一些征兆的,尤其是内存泄露,由于内存是一点点被压榨掉落的,着末到达一个极限时,SQL Server就会忽然Crash掉落,然后只留给你一个dump,微软就笑了。有履历的大年夜夫应该从日常的腰酸背痛中看出一些端倪,然落后一步阐发,提前预知重大年夜疾病的发生,这便是DBA的代价。这个案例,奉告我,看严惩事器非常的细节变更,才能做到防患于未然。

您可能还会对下面的文章感兴趣: