Sql-Server

SQL Server 的記憶體使用情況

  • March 8, 2021

如何在生產框中檢查我的 SQL 伺服器的記憶體使用情況。我正在使用 SQL Server 2016。當我檢查任務管理器時,它顯示在 90% 以上。我認為這不是 sql server 的真實記憶體使用情況。

我有一個 SQL 性能工具 grafana,它顯示的 CPU 使用率比我在任務管理器中看到的要少得多。我檢查了資源監視器,可以看到平均 CPU 值。我對 SQL 伺服器記憶體使用情況感到困惑。我正在嘗試確定記憶體壓力是否是我的某些問題的問題。

有人可以直接給出一個好的/正確的解釋。

有人可以直接給出一個好的/正確的解釋。

我首先要說任務管理器不是衡量 SQL Server 記憶體消耗的正確位置,當 SQL Server 服務帳戶具有記憶體中的鎖定頁 (LPIM) 權限時,它不會告訴您正確的值。這是因為通常任務管理器跟踪Process Private bytes可分頁記憶體並通過VirtualAlloc()函式分配,但服務帳戶具有 LPIM 記憶體分配塊是由不可分頁的AWE API完成的,因此任務管理器不跟踪它,這可能導致不正確價值。

SQL Server 使用分配給它的記憶體是很正常的,這通常看起來像是在使用高記憶體,但這是很正常的。如果某些工具顯示低 CPU 使用率並且任務管理器顯示高記憶體,請不要驚慌,這可能是正常的。要了解 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

Phy_Memory_usedby_Sqlserver_MB – 以 MB 為單位提供 SQL Server 使用的總物理記憶體 Total_Memory_usedBy_SQLServer_MB- - 以 MB 為單位提供 SQL Server 使用的總記憶體(RAM+頁面文件)

要詳細了解為什麼不應該使用任務管理器,請參閱Fun with Locked Pages、AWE、任務管理器和工作集……

引用自:https://dba.stackexchange.com/questions/213010