Sun*_*nny 5 sql-server memory sql-server-2012
使用 SQL Server 2012 64 位 (v11.0.6020.0 - 2012 SP3)
下面是场景:
在我们的生产中,我们安装了 32 GB DDR3 RAM:
SQL Server 中的最大内存限制已设置为 16 GB,即 50% 容量:
当我启动任务管理器并检查内存占用的值时,它显示 16 GB,这是正确的:
但是当我选择百分比占用的内存时,它显示 80%-85% 这是不正确的:
这将继续增加,直到它占据超过 95% 并且
解决此问题的唯一方法是重新启动服务器
我的问题是
我的问题是 SQL Server 是否泄漏内存?
极不可能,但您应该尽快计划 SQL Server 2012 SP4。根据我过去的经验,我可以说,由于 SQL Server 和其他应用程序(如 SSAS 和 SSRS)都在同一台机器上运行,SQL Server 可能面临内存压力,因此 SSAS/RS 可能也是这种情况。我见过很多这样的系统,这都归结为内存压力。
您有 32 G 的 RAM,而您只为 SQL Server 提供了 16 G 使其达到 20 G,看看这是否有帮助。如果可以的话,添加更多内存肯定会有所帮助。
查询超时的原因可能有很多,SQL Server 性能问题疑难解答可以帮助您找到它的根本原因。
但是当我选择百分比占用的内存时,它显示 80%-85% 这是不正确的:
我首先会说任务管理器不是衡量 SQL Server 内存消耗的正确位置,当 SQL Server 服务帐户具有Locked Pages in Memory(LPIM) 特权时,它不会告诉您正确的值。这是因为通常任务管理器会跟踪可分页并通过 VirtualAlloc() 函数分配的进程私有字节内存,但 LPIM 内存分配块由不可分页的 AWE API 完成,因此任务管理器不会跟踪它,这可能导致不正确价值。对于您正在查看的百分比内容,实际上Percentage of Process Private bytes
并不是完整的内存,并且它不提供任何相关信息,因此请停止查看它。
SQL Server 使用分配给它的内存是很正常的,要知道 SQL Server 使用了多少物理内存,请使用查询
select * from sys.dm_os_process_memory
PS:始终建议将其他应用程序移动到不同的机器上(如果可能)并让 SQL Server 仅在自己的系统上运行,这将有助于 SQL Server 运行得更快更好
归档时间: |
|
查看次数: |
6948 次 |
最近记录: |