我们已将操作系统上的 RAM 容量增加到 40G,并且我已将 SSMS 中的最大内存参数更改为 36G。
当我选择“当前值”时,它显示 36G。
但是,在操作系统级别监视内存使用情况并不会显示消耗了更多内存。
我知道,理论上,可以在 SQL Server 仍在运行时更改最大内存设置,但它真的有效吗?我需要重新启动服务器吗?还是我不耐烦?
谢谢
我们已将操作系统上的 RAM 容量增加到 40G,并且我已将 SSMS 中的最大内存参数更改为 36G。
当我选择“当前值”时,它显示 36G。
但是,在操作系统级别监视内存使用情况并不会显示消耗了更多内存。
我知道,理论上,可以在 SQL Server 仍在运行时更改最大内存设置,但它真的有效吗?我需要重新启动服务器吗?还是我不耐烦?
谢谢
该设置不是“随便使用一堆内存”。它是一个指示缓冲池内存最大使用量的设置(数据缓存、计划缓存和其他一些内存保留区域)。
为了实际使用36GB 内存,您需要运行查询以强制缓冲区管理器从磁盘中提取数据并将其放入内存中。运行以下查询,您将看到内存使用量增加(另外,如果您正在查看,请不要为此使用任务管理器)。
SQL Server 只会根据需要增长以填充更多内存。它没有发现增加它的内存使用量是有益的,所以它不是。是的,更改最大内存设置是在线操作,不需要重新启动任何东西。