欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

服务器应用服务为何卡顿?原来是内存耗尽惹的祸!

发布时间:2023/12/4 编程问答 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 服务器应用服务为何卡顿?原来是内存耗尽惹的祸! 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

       做过运维的朋友们都可能会遇到:服务器应用程序运行慢的问题,最终各部门找上门,。

       今天在这我跟大家分享一个案例及其解决办法。以前我跟很多朋友们也为这样的事情苦恼过,我的服务器内存可是64G啊,这都不够它吃的。

       后来我打开任务管理器一看原来是内存耗尽惹得祸,内存使用99%,CPU使用70%~100%之间变动,如果访问应用的时候,服务器立马变成100%,空闲时慢慢降下一点来。再看进程里面的变化,你就会发现SQL Server进程占用99%的内存,这时我才恍然大悟,原来是数据库捣的鬼,。

       捣蛋鬼找到了,但还没发现它是怎么捣蛋的,根据现象分析,服务每次重启都得过一段时间才会出现这样的问题,并且基本上一个礼拜后才出现这样的问题。经过查询资料知道,SQL Server在运行的时候会把访问过的数据缓存起来,以提高再次访问效率,也就是说内存耗尽的根找着了,!

      分析到这里,很多朋友们可能都有解决办法了,就是设置数据库本身可以设置其使用的内存大小,灵感立马来了,赶紧去设置数据库使用的内存大小,下面给大家简单说一下配置方法,以SQL Server 2012为例:

1、首先打开数据库管理器;

2、然后在服务器名称上点右键选属性;

3、再点击内存,进入内存选项配置界面

设置完后,运行一段时间以后另一个问题又出现了,虽然服务器运行一段时间以后数据库把配置的内存吃完了,但是不会出现服务器死机卡顿现象,可应用服务程序运行还是会慢。

啊啊啊    只能出大招了

设置周期性重启SQL Server 2012 R2服务,下面给大家介绍一下方法:

1、建立一个重启SQL Server 2012 R2服务批处理文件。

首先,新建一个txt文档

接着,在刚才建的文档中输入一下命令

    net stop sqlserveragent
    net stop mssqlserver
    net start mssqlserver
    net start sqlserveragent

最后,保存文件名为ResetSqlServer,扩展名为bat

2、设置一个计划任务(我服务器系统是Wondows Server 2012),定时自动执行上面新建的批处理文件。

首先,进入控制面板,点击“查看方式”选“小图标”

接着,单击管理工具进入界面,双击“计划任务程序”,进入如下界面

再接着,单击创建任务,并输入任务名称,点确定保存

再接着,新建触发器,设置好后,点确定保存

提醒:开始时间一定设置成空闲时间

最后,新建操作,点击浏览按钮,选择刚刚建好的批处理文件ResetSqlServer.bat

到此为止,大功告成,修成正果!


总结

以上是生活随笔为你收集整理的服务器应用服务为何卡顿?原来是内存耗尽惹的祸!的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。