sql-server - SQL Server - 当另一个进程需要它时,它真的释放内存吗?

标签 sql-server sql-server-2008 memory

我们有一个运行 SQL Server 2008 的 8 核、16GB RAM 服务器。当我们对数百万行执行大型查询时,RAM 使用量会上升到 15.7GB,然后甚至文件浏览、打开 excel 等都会变得非常慢。

那么当另一个进程需要它或者我有另一个问题时,SQL Server 真的会释放内存吗?我们没有在此服务器上运行任何其他主要程序。

我们为 SQL Server 设置了 14GB 的最大内存使用量。

感谢大家的任何启发或解决问题的想法。

最佳答案

是的。见 SQLOS's memory manager: responding to memory pressure有关详细信息,这是如何工作的。但是,“内存压力”到底意味着什么,它取决于机器和机器以及操作系统版本,请参阅 Q & A: Does SQL Server always respond to memory pressure? .如果您想为应用程序保留更多内存(我什至懒得问为什么您浏览文件并在专用于 SQL Server 的机器上使用 Excel....),那么您应该降低 mas服务器内存,直到它留出足够的娱乐时间。

关于sql-server - SQL Server - 当另一个进程需要它时,它真的释放内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4155790/

相关文章:

java - == 抽象数据类型,相同条件下的不同结果

sql-server - 如果两个事务都没有回滚,则已提交读与未提交读

sql-server - Node.js 上 SQL Server 的 ORM

mysql - 在启用 RPC 的情况下,使用 OPENQUERY() 删除行时出现问题(区分大小写)

c# - 超过 800,000 条记录的表上的 Entity Framework

c# - SQL Server 2008 - 存储文件

sql - 如何将列变成行

SQL内部查询问题

c# - C#中如何衡量一个方法的平均内存消耗和峰值内存?

c++ - 为什么 std::vector 零初始化它的内存?