首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >怎样才能让SQL Server将内存释放到dev计算机上的操作系统上?

怎样才能让SQL Server将内存释放到dev计算机上的操作系统上?
EN

Database Administration用户
提问于 2015-09-16 16:58:22
回答 1查看 54.4K关注 0票数 8

在我的开发框中,我的SQL Server配置了一个很高的最大内存量(8GB为16 8GB)。这是许多开发任务所必需的。

但有时我想找回我的记忆。我不想让8GB永久消耗掉。

让SQL Server突然将所有内存释放到操作系统的好方法是什么?

DBCC DROPCLEANBUFFERS不会这么做的。它只是将干净的缓冲区标记为可用。

重新启动Server是一个问题,因为这会导致运行1分钟的数据库恢复,这是由于这个bug/特性:停止服务器服务会导致数据库不干净地关闭 (请为该连接项投票;似乎是一个令人震惊的错误)。

EN

回答 1

Database Administration用户

发布于 2015-09-17 05:32:27

但有时我想找回我的记忆。我不想让8GB永久消耗掉。让SQL Server突然将所有内存释放到操作系统的好方法是什么?DBCC DROPCLEANBUFFERS不这样做。它只是将干净的缓冲区标记为可用。

因为您说要释放DEV机器上的内存,所以您可以使用下面的查询

代码语言:javascript
复制
DBCC FREESYSTEMCACHE ('ALL') 
DBCC FREESESSIONCACHE
DBCC FREEPROCCACHE

但是请注意上面的命令won't cause SQL Server process to release memory committed it would just clear caches。这就是你正在经历的。

在运行上述查询之后,您可以将Server服务器内存更改为较低的值(在您的情况下可能为4-5G ),这将迫使server进程释放内存,从而再次降低内存消耗--我建议将此作为图像中的机器是DEV机器。更改最大服务器内存不需要重新启动。另一件事是重新启动Server服务,这肯定会清除缓存,并释放Server进程所持有的内存。但是在重新启动Server之后,它可能会在一段时间后收回所有内存。

票数 7
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/115270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档