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

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

概述

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

1、查看资源情况

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

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

2、查看sqlserver内存分配

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

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

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

3、调整sqlserver内存

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

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

4、查看内存分配

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

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

5、查看目前内存状态:

DBCC MemoryStatus

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

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

 

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

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

责任编辑:庞桂玉 来源: 今日头条
相关推荐

2019-08-15 11:30:06

SQL数据库ASH

2021-03-01 06:14:50

环境高并发延迟

2019-12-02 08:09:57

境数据库连接超时自动回收

2019-07-25 08:30:58

数据库服务器故障

2020-11-06 00:45:29

Linux服务器swap内存

2009-09-17 16:38:02

WSUS服务器

2018-12-06 16:25:39

数据库服务器线程池

2020-09-25 07:57:42

生产事故系统

2022-06-01 06:17:42

微服务Kafka

2020-11-03 07:34:12

Kafka后端工程师

2019-11-18 13:42:55

MySQL数据库迁移

2011-09-06 13:15:04

MTK文件系统内存

2019-08-19 01:34:38

数据库SQL数据库优化

2019-09-27 17:24:26

数据库优化sql

2019-11-22 08:05:01

数据库mysql分区

2019-12-12 10:38:10

mysql数据库nnodb

2019-08-01 15:05:22

2019-01-21 11:17:13

CPU优化定位

2010-05-20 13:48:17

IIS服务器

2010-12-31 16:31:08

服务器常见问题
点赞
收藏

51CTO技术栈公众号