14 sql-server
我使用的数据库服务器正在运行 6 个不同的 SQL Server 实例。它有 48 GB 内存。其中之一消耗了超过 10 GB 的 RAM,目前总消耗量为 20 GB。RAM消耗持续增长。几天前,它使用了超过 40 GB 的 RAM,并且服务器响应非常缓慢。该应用程序显示保存数据时的崩溃问题。
所以我重新启动了 SQL Server 服务。
一旦服务重新启动,使用量就下降到 4 GB,但现在它正在增长。而且我担心它会在 4 或 5 天内增长到 40 GB 并使服务器变慢。
我猜服务重启不是一个好的选择。
我还从不同的来源中发现,我们可以为 SQL Server 设置最大内存使用大小。我不太确定这是否会有所帮助。我无法对此进行测试,因为服务器正在使用生产数据库,如果在修改 SQL Server 中的设置时服务停止,这将是一个风险。
任何人都可以帮助解决这个问题吗?
mrd*_*nny 15
那是设计使然。SQL Server 应该使用所有可用内存,因为它在内存中存储越来越多的数据,因此它不需要返回磁盘一遍又一遍地获得相同的内存。
如果您需要限制单个 SQL Server 实例使用的内存量,您可以在 SQL Server Management Studio 中通过右键单击对象资源管理器中的实例名称并选择属性来执行此操作。然后选择内存选项卡并设置允许 SQL Server 使用的最大内存量。现在,这不会将 SQL Server 的所有方面都限制为该内存量。这仅控制缓冲池和执行计划缓存。CLR、全文、SQL Server exe 文件使用的实际内存、SQL 代理、扩展存储过程等不受此设置控制。然而,这些其他东西通常不需要那么多内存,缓冲池和执行计划缓存需要大量内存。
如果您在一个实例上设置此设置,您将希望在所有实例上设置它,以便它们不会相互踩踏。
| 归档时间: |
|
| 查看次数: |
33644 次 |
| 最近记录: |