linux数据库服务器卡顿怎么办,记一次生产环境SQL Server服务器卡顿问题解决--内存分配不当,服务器卡顿...

记一次生产环境SQL Server服务器卡顿问题解决--内存分配不当,服务器卡顿

概述

最近有台数据库做了迁移,然后运维人员过了一段时间发现这台服务器非常卡,连远程登录都要很久,下面记录下其中的解决过程。

1、查看资源情况

可以发现内存爆满了,而排名第一的正是sqlserver的进程

1135236306-0.jpg-wh_651x-s_3045710998.jpeg

2、查看sqlserver内存分配

SQL Server对服务器内存的使用策略是用多少内存就占用多少内存,只用在服务器内存不足时,才会释放一点占用的内存,所以SQL Server 服务器内存往往会占用很高。

可以看到迁移之前分配的内存是10G,但迁移后的服务器只有8G内存。

f02f7c37eae50fc39e725fd9e7cbafd8.png

3、调整sqlserver内存

这里可以把最大服务器内存改成1G,确定后内存就会被强制释放,然后把最大服务器内存改成合适的值。

eb0f1b27c47d26201594ec9d7c1c840a.png

4、查看内存分配

正常只启动sqlserver服务器内存消耗2.34G,打开F5客户端到3.1G,也就是消耗0.7G内存,最后打开下载数据的客户端,应该是下载数据都缓存到sqlserver内存里面了,所以内存一直在增加..目前稳定在5.17G内存,也就是这个下载消耗了2.2G内存。

91942c6f57adae25071495e8e85f0f85.png

5、查看目前内存状态:

DBCC MemoryStatus

这些内存一般都是Sql Server运行时候用作缓存的:

f753a5170d61440f176f044c0d0cb6eb.png

1) 数据缓存:执行个查询语句,Sql Server会将相关的数据页(Sql Server操作的数据都是以页为单位的)加载到内存中来, 下一次如果再次请求此页的数据的时候,就无需读取磁盘了,大大提高了速度。

2)执行命令缓存:在执行存储过程,自定函数时,Sql Server需要先二进制编译再运行,编译后的结果也会缓存起来, 再次调用时就无需再次编译。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值