我有一个运行SQL Server 2016的Windows 2016 Server(128GB Ram),并且在内存使用情况报告中看到一些不正常的数字。
我过去经常看到SQL Server使用大量内存(我们的内存限制为96GB),但是我在Task Manager中看到了奇怪的报道。我看到75%的内存使用率,但针对SQL Server仅为755.5MB。尽管在后台运行其他服务,但总的存储量并不能达到128GB的75%。
75%反映在Performance Manager中,正如我所期望的那样,其中96%致力于SQL。
在sql server内部,我从内部报告中得到了相似的数字。
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;
我被要求调查为什么任务管理器在我们期望如此之高时却显示如此低的使用率。如果我在这方面有普遍的误解,请告诉我。如果有任何其他测试可以帮助我追踪到这一点,那么我很乐意这样做。
非常感谢。
答案 0 :(得分:1)
Taskmanager仅显示通过VirtualAlloc分配内存的进程。在SQL Server中设置了“锁定页面”时,将使用AllocateUserPhysicalPages进行分配,而这不会在TaskManager中显示。因此,您不能依靠TaskManager来使用SQL内存。