我们正在运行 SQL Server 2008(不是 R2)。64 位机器/操作系统 - 32 GB 内存。硬件/系统人员使用 Orion,我使用 Idera 来监控系统重要信息。Orion 指的是“物理内存大小”,Idera 使用术语“可用内存”。目前它们都显示大约 4 GB。所有进程的内存使用量总计约为 3.5 GB,因此系统看起来不错。
系统人员很担心,因为 Orion 总是显示 32 GB 的“物理内存”,直到最后一个 op 系统补丁。重启后,该变量开始显示 4 GB。他们认为出了问题。(没有性能损失报告,任何重要统计数据都没有问题)。
最小值和最大值均设置为 24 GB。SQL Server 仅使用它所需的空间。但是,如果将最小值设置为最大值,一旦达到最小值,内存分配将永远不会低于最小值。(对吗?)。但是,在我看来,我们的系统甚至从未接近最小值。BOL(和其他人)谈到“启动后不久的数据库服务器负载”,以达到该最小值,为 SQL Server 抢占该空间,这样其他进程就无法使用它。(这就是我们想要的,它是该 SQL Server 实例的专用服务器)。
问题:什么是数据库服务器负载以及如何实现它?
谢谢,Pete Mottershead 高级 DBA Central States Indemnity 内布拉斯加州奥马哈。
答案1
不要使用操作系统级计数器来确定 SQL 内存使用情况,请使用:
SQLServer:内存管理器:服务器内存总量 (KB)
(告诉您缓冲池中已提交的内存量)
进程(sqlservr):工作集
(报告 SQL Server 进程中的线程最近接触的内存页集(以字节为单位))
看http://sqlserverpedia.com/wiki/Memory_-_Performance_Counters还有更多。