最近有台数据库做了迁移,卡顿然后运维人员过了一段时间发现这台服务器非常卡,记次解决连远程登录都要很久,生产下面记录下其中的环境解决过程。
可以发现内存爆满了,卡顿而排名第一的记次解决正是sqlserver的进程
SQL Server对服务器内存的生产使用策略是用多少内存就占用多少内存,只用在服务器内存不足时,环境才会释放一点占用的器问题内存,所以SQL Server 服务器内存往往会占用很高。卡顿
可以看到迁移之前分配的内存是10G,但迁移后的服务器只有8G内存。
这里可以把最大服务器内存改成1G,确定后内存就会被强制释放,然后把最大服务器内存改成合适的值。
正常只启动sqlserver服务器内存消耗2.34G,打开F5客户端到3.1G,也就是消耗0.7G内存,最后打开下载数据的客户端,应该是下载数据都缓存到sqlserver内存里面了,所以内存一直在增加..目前稳定在5.17G内存,也就是这个下载消耗了2.2G内存。
DBCC MemoryStatus
这些内存一般都是Sql Server运行时候用作缓存的:
1) 数据缓存:执行个查询语句,Sql Server会将相关的数据页(Sql Server操作的数据都是以页为单位的)加载到内存中来, 下一次如果再次请求此页的数据的时候,就无需读取磁盘了,大大提高了速度。
2)执行命令缓存:在执行存储过程,自定函数时,Sql Server需要先二进制编译再运行,编译后的结果也会缓存起来, 再次调用时就无需再次编译。
责任编辑:庞桂玉 来源: 今日头条 SQL Server服务器卡顿内存分配(责任编辑:热点)
冠豪高新(600433.SH):重组事项获有条件通过 公司A股股票自3月12日起复牌
ROG游戏手机8发布:第三代骁龙8+IP68级防水防尘,售价4799元起