我们有一个运行 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/