監視記憶體使用狀況
定期監視 SQL Server 執行個體,以確認記憶體使用量是在正常範圍內。
若要監視低記憶體的狀況,請使用以下物件計數器:
Memory:Available Bytes
Memory:Pages/sec
Available Bytes 計數器代表目前有多少記憶體位元組可供處理序使用。Pages/sec 計數器會顯示由於硬體分頁錯誤而自磁碟取出,或由於分頁錯誤而寫入磁碟,以釋出工作集內空間的分頁數。
若 Available Bytes 計數器的數值偏低,代表電腦整體地缺乏記憶體,或有某個應用程式沒有釋出記憶體。Pages/sec 計數器數值過高可能代表過度分頁。監視 Memory:Page Faults/sec 計數器可確認磁碟活動並非分頁所造成。
分頁率 (連同分頁錯誤) 低是正常的,即使有許多可用記憶體的電腦也是如此。當「Microsoft Windows 虛擬記憶體管理員 (VMM)」修剪 SQL Server 和其他處理序的工作集大小時,它會從這些處理序取得分頁。此 VMM 活動會造成分頁錯誤。若要判定 SQL Server 或其他處理序是否造成過度分頁,請監視 SQL Server 處理序執行個體的 Process: Page Faults/sec 計數器。
如需有關解決過度分頁的詳細資訊,請參閱 Windows 作業系統文件。
隔離 SQL Server 所使用的記憶體
根據預設,SQL Server 會根據可用的系統資源,動態變更它的記憶體需求。如果 SQL Server 需要更多記憶體,它將詢問作業系統以判斷是否有可用的實體記憶體,並使用可用的記憶體。如果 SQL Server 並不需要目前配置給它的記憶體,它會釋出記憶體給作業系統。不過,您可以使用 min server memory 和 max server memory 伺服器組態選項,覆寫選項以動態使用記憶體。如需詳細資訊,請參閱<伺服器記憶體選項>。
若要監視 SQL Server 所使用的記憶體數量,請檢查下列效能計數器:
Process:Working Set
SQL Server:Buffer Manager:Buffer Cache Hit Ratio
SQL Server:Buffer Manager:Total Pages
SQL Server:Memory Manager:Total Server Memory (KB)
Working Set 計數器顯示處理序使用的記憶體數量。如果這個數字一直低於**「最小伺服器記憶體」與「最大伺服器記憶體」**伺服器選項設定的記憶體數量,則代表 SQL Server 設定的記憶體過多。
Buffer Cache Hit Ratio 計數器專供應用程式使用。不過,其數值最好為 90% 或更高。請持續增加記憶體,直到該數值持續大於 90%。數值大於 90% 代表有超過 90% 的資料要求,可自資料快取中得到所需的資料。
若 Total Server Memory (KB) 計數器和電腦中的實體記憶體數量相比一直很高,可能代表需要更多的記憶體。