SQL Server 内存占用较高 - 清除缓存 或 设置内存最大占用值
SQL Server对服务器内存的使用策略是用多少内存就占用多少内存,只用在服务器内存不足时,才会释放一点占用的内存,所以SQL Server 服务器内存往往会占用很高
查看内存状态:
DBCC MemoryStatus
这些内存一般都是Sql Server运行时候用作缓存的:
-
数据缓存:执行查询语句,Sql Server会将相关的数据内容(Sql Server操作的数据都是以页为单位的,在SQL Server中页的大小始终是8kb的大小,页有不同的类型:数据页,索引页,系统页等等)加载到内存中进行缓存,以便于再次请求此页的数据的时候,直接从内存返回,大大提高了提取效率。
-
执行命令缓存:在执行存储过程,自定函数时,Sql Server需要先二进制编译再运行,编译后的结果也会缓存起来,再次调用时就无需再次编译。
临时清除缓存
其它DBCC管理命令
DBCC FREEPROCCACHE --清除存储过程相关的缓存
DBCC REESESSIONCACHE --清除会话缓存
DBCC FREESYSTEMCACHE('All') --清除系统缓存
DBCC DROPCLEANBUFFERS --清除所有缓存
以上命令虽然会清除掉现有缓存,为新的缓存腾出空间,但是Sql server并不会因此释放掉已经占用的内存。Sql Server并没有提供任何命令允许我们释放不用到的内存。因此我们只能通过动态调整Sql Server可用的物理内存设置来强迫它释放内存。
按以上步骤,设置sql占用内存的上限,就会让sql server在内存上限范围内,主动清除脏数据替换成热数据,无休止占用内在
限制内存最大占有值
限制Sql Server可用的物理内存设置步骤:
- 设置内存最大占有值,如:4096
- 重新服务
设置固定值后的效果
本文来自博客园,作者:VipSoft 转载请注明原文链接:https://www.cnblogs.com/vipsoft/p/17598169.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2022-08-02 SocketChannel支持设定参数