sql server windows nt 64bit 内存占用过高

       首先说明,如果单纯的就是内存不断慢慢增高,那您可以看这篇文章。配置一些sql server所占用的最大内存即可解决:

        https://blog.csdn.net/baidu_40216896/article/details/102815630

    正文开始:

      今天晚上7点,同时突然发来消息,某个项目的服务器内存暴了,图片如下:

     看了以后,我惊呆了100G的内存,都被这个SQL SERVER占用掉了。不用想,肯定是数据库出了问题:这个服务器的软件程序已经在客户那里稳定运行了2个月(2个月前出了一次问题,注意这里是个伏笔)。

     现象:

        1.重启sql服务后,sql服务以没秒100M的速度在吞噬着内存

         2.用管理工具登录sql发现非常卡,很难连接进去(运行这么大的内存,当然很卡)

     解决:

         1.发现内存增大的情况,立刻想解决办法,就是文章开头的办法。但是这个东西,治标不治本,毕竟还是有内存被用掉的动作在执行,没有找到原因,肯定还会出现问题。

          2.重启了sql服务,然后勉强连进去,发现其中一个日志表竟然2个月没有清除。我写的定时任务,已经2个月没有执行了。

                                                          

     3.查看未执行原因:

                                  

       忽然想起2个月前,因为日志把硬盘撑爆了,做了一次日志维护。日志被撑爆的解决办法参照:  https://blog.csdn.net/ruoyunliufeng/article/details/107458628

        再看:sql server 代理竟然是灰色的,没有运行,而且是手动打开。

       4.解决办法

        突然顿悟:上次因为日志撑爆硬盘导致sql server代理被设置成手动,后续没有人进行调整。过来20来天后,日志表变得越来越大,导致查询等操作会占用大量内存。sql server 刚好没有进行内存限制,导致内存达到惊人的100g。

       5. 后续多注意

               a.运维后要多观察几天软件或者服务是否正常,有时候可能不发生显示异常,但是已经买下隐患。

               b.sql server 这个以后还是少用,没点熟练度,真的会很多坑。

 

      

Guess you like

Origin blog.csdn.net/u013584315/article/details/108523636