记一次生产环境SQL Server服务器卡顿问题解决--内存分配不当
2023-03-14 22:23:41 时间
概述
最近有台数据库做了迁移,然后运维人员过了一段时间发现这台服务器非常卡,连远程登录都要很久,下面记录下其中的解决过程。
1、查看资源情况
可以发现内存爆满了,而排名第一的正是sqlserver的进程
2、查看sqlserver内存分配
SQL Server对服务器内存的使用策略是用多少内存就占用多少内存,只用在服务器内存不足时,才会释放一点占用的内存,所以SQL Server 服务器内存往往会占用很高。
可以看到迁移之前分配的内存是10G,但迁移后的服务器只有8G内存。
3、调整sqlserver内存
这里可以把最大服务器内存改成1G,确定后内存就会被强制释放,然后把最大服务器内存改成合适的值。
4、查看内存分配
正常只启动sqlserver服务器内存消耗2.34G,打开F5客户端到3.1G,也就是消耗0.7G内存,最后打开下载数据的客户端,应该是下载数据都缓存到sqlserver内存里面了,所以内存一直在增加..目前稳定在5.17G内存,也就是这个下载消耗了2.2G内存。
5、查看目前内存状态:
DBCC MemoryStatus
这些内存一般都是Sql Server运行时候用作缓存的:
1) 数据缓存:执行个查询语句,Sql Server会将相关的数据页(Sql Server操作的数据都是以页为单位的)加载到内存中来, 下一次如果再次请求此页的数据的时候,就无需读取磁盘了,大大提高了速度。
2)执行命令缓存:在执行存储过程,自定函数时,Sql Server需要先二进制编译再运行,编译后的结果也会缓存起来, 再次调用时就无需再次编译。
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的