Windows

查看 SQL 的記憶體 RAM 使用情況?

  • February 23, 2010

我希望這有一個非常簡單的解決方案,但我覺得它不會。我無法在其他任何地方找到有關此的任何資訊,這不是一個好的開始!

基本上,我們在具有16GB RAMWindows Server 2008 R2機器上執行SQL Server 2008

問題是我們的 RAM 使用量不斷攀升至 15.6GB 並導致我們出現問題,我想知道它是否可能是 SQL 的記憶體。

我們現在已經將 SQL 配置為使用 13GB 的最小/最大值,但我仍然擔心它可能會佔用 RAM,所以在我重置伺服器並清除正在使用它的任何東西之前,我想我會試試看它背後是否是SQL。

如何查看 SQL 的記憶體 RAM 使用量大小?只是任務管理器裡的那個數字嗎?

謝謝你的幫助。

性能監視器

首先看Process對像類型。這對系統上的每個程序都有一個實例,並包含虛擬字節、虛擬字節峰值、工作集和工作集峰值等指標。SQL Server 的實例將以程序名稱“sqlservr”命名。查看所有實例,您可以快速查看哪個程序導致的記憶體消耗最多。

接下來看看 SQL Server 自己的計數器。在 SQL Server:Buffer Manager 對像中,您將找到 SQL Server 自己的計數器。您需要查看對 SQL Server 內部跟踪的所有記憶體進行計數的 Total Pages 計數器。計數器以pages為單位,因此您需要乘以 8192 才能獲得字節。

Process Virtual Bytes 計數器和 SQL 自己的 Total Pages 之間可能存在很大差異。當 SQL 使用 AWE 映射記憶體時會發生這種情況,並且 SQL 也可能在 x64 平台上使用 AWE。

您還可以從 iside 跟踪 SQL Server 記憶體消耗,查看sys.dm_os_memory_clerks或執行DBCC MEMORYSTATUS

如果您發現 SQL Server 使用了記憶體:關閉會話,放下鍵盤,然後走開。這是正常的、預期的和期望的行為。如果您需要任何其他程序的記憶體,請將該程序從與 SQL 相同的主機移開。永遠不要在執行 SQL Server 的同一主機上執行其他任何東西(沒有 IIS、沒有 ASP、沒有交換、沒有 DC、沒有 DNS/Winds,什麼都沒有)。

引用自:https://serverfault.com/questions/115957