SQL Server監視內存的正確使用方案
以下的文章主要向大家講述的是SQL Server監視內存的正確使用方案,我們是在假設SQL Server數據庫的監視內存處于不足的情況下,從相關的計數器開始進行著手的對其進行介紹,以下就是文章的主要內容介紹。
SQL Server監視內存的使用
定期監視 Microsoft® SQL Server™ 實例,確認內存的使用在正常范圍內,并且沒有進程(包括 SQL Server)缺少內存或消耗太多的內存。
若要SQL Server監視內存不足情況,可從下列對象計數器開始:
- Memory:Available Bytes
- Memory:Pages/sec
Available Bytes 計數器表示當前進程可使用的內存字節數。Pages/sec 計數器表示由于缺頁處理而從磁盤取回的頁數,或由于缺頁處理而寫入磁盤以釋放工作集空間的頁數。
偏低的 Available Bytes 計數器值表示計算機從總體上短缺內存或一個應用程序沒有釋放內存。高比率的 Pages/sec 計數器值可能表示換頁過度。監視 Memory:Page Faults/sec 計數器以保證磁盤活動不是由換頁造成的。
換頁率偏低(以及由此產生的換頁錯誤)是正常的,即使計算機有大量的可用內存。Microsoft Windows NT® 虛擬內存管理器 (VMM) 在調整 SQL Server 和其它進程的工作集大小時,會盜用這些進程的頁,從而導致換頁錯誤。若要確定是 SQL Server 而非其它進程導致過度換頁,請監視 Process:Page Faults/sec 計數器。
隔離 SQL Server 所用的內存
默認情況下,SQL Server 會依據可獲得的系統資源動態改變它的內存需求。如果 SQL Server 需要更多的內存,它會要求操作系統確定是否有空閑的物理內存可用,并使用可用的內存。若 SQL Server 不再需要當前分配給它的內存,它就將內存釋放給操作系統。不過,可以用 min server memory、max server memory 和 set working set size 服務器配置選項替代動態使用內存的選項。有關更多信息,請參見服務器內存選項。
若要監視 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)
WorkingSet 計數器表示的是一個進程所占用的內存數量。若這一數值持續低于 SQL Server 配置使用的內存數量(由"最小服務器內存"和"最大服務器內存"服務器選項設置),則表示 SQL Server 所配置的內存比它所需要的多。否則,用"設置工作集大小"服務器選項修改工作集大小。
Buffer Cache Hit Ratio 計數器值依應用程序而定,但比率最好為 90% 或更高。增加內存直到這一數值持續高于 90%,表示 90% 以上的數據請求可以從數據緩沖區中獲得所需數據。
若 TotalServerMemory (KB) 計數器值與計算機的物理內存大小相比一直很高,可能表示需要更多的內存。
以上的相關內容就是對SQL Server監視內存的使用的介紹,望你能有所收獲。
【編輯推薦】
- SQL Server 2005商業智能功能淺析
- 修改SQL Server 2005 數據庫的執行環境很簡單
- SQL Server 2000數據庫備份和還原的示例
- SQL Server 2008數據庫在實際應用中的獨到之處
- SQL Server磁帶備份設備的性能優化過程

















