服务器内存使用报告不正确?
Server memory usage reporting incorrect?
我有一个 Windows 2016 Server (128GB Ram),运行 SQL Server 2016,我在内存使用报告中看到一些不寻常的数字。
我习惯于看到 SQL 服务器使用大量内存(我们将此内存限制为 96GB),但我看到任务管理器中奇怪地报告了这一点。我看到 75% 的内存使用率,但针对 SQL 服务器只有 755.5MB。虽然后台还有其他服务 运行,但总容量还不到 128GB 的 75%。
如我所料,75% 反映在绩效管理器中,96% 致力于 SQL。
在 sql 服务器内部,我从内部报告中得到了类似的数据。
SELECT (physical_memory_in_use_kb / 1024) Phy_Memory_usedby_Sqlserver_MB
, (locked_page_allocations_kb / 1024) Locked_pages_used_Sqlserver_MB
, (virtual_address_space_committed_kb / 1024) Total_Memory_UsedBySQLServer_MB
, process_physical_memory_low
, process_virtual_memory_low
FROM sys.dm_os_process_memory;
我被要求调查为什么任务管理器显示出如此低的使用率,而我们预计它会高得多。如果我在这里有普遍的误解,请告诉我。如果我可以执行任何进一步的测试来帮助追踪此问题,那么我很乐意这样做。
非常感谢。
Taskmanager 仅显示通过 VirtualAlloc 分配内存的进程。当在 SQL 服务器中设置锁定页面时,AllocateUserPhysicalPages 用于分配,这不会显示在 TaskManager 中。所以你不能依赖 TaskManager SQL 内存使用。
我有一个 Windows 2016 Server (128GB Ram),运行 SQL Server 2016,我在内存使用报告中看到一些不寻常的数字。
我习惯于看到 SQL 服务器使用大量内存(我们将此内存限制为 96GB),但我看到任务管理器中奇怪地报告了这一点。我看到 75% 的内存使用率,但针对 SQL 服务器只有 755.5MB。虽然后台还有其他服务 运行,但总容量还不到 128GB 的 75%。
如我所料,75% 反映在绩效管理器中,96% 致力于 SQL。
在 sql 服务器内部,我从内部报告中得到了类似的数据。
SELECT (physical_memory_in_use_kb / 1024) Phy_Memory_usedby_Sqlserver_MB
, (locked_page_allocations_kb / 1024) Locked_pages_used_Sqlserver_MB
, (virtual_address_space_committed_kb / 1024) Total_Memory_UsedBySQLServer_MB
, process_physical_memory_low
, process_virtual_memory_low
FROM sys.dm_os_process_memory;
我被要求调查为什么任务管理器显示出如此低的使用率,而我们预计它会高得多。如果我在这里有普遍的误解,请告诉我。如果我可以执行任何进一步的测试来帮助追踪此问题,那么我很乐意这样做。
非常感谢。
Taskmanager 仅显示通过 VirtualAlloc 分配内存的进程。当在 SQL 服务器中设置锁定页面时,AllocateUserPhysicalPages 用于分配,这不会显示在 TaskManager 中。所以你不能依赖 TaskManager SQL 内存使用。