天天看點

SQLserver狂占CPU解決方案

1.打開作業系統啟動時PAE 配置項;步驟:找到系統安裝的引導位置的目錄下找到boot.ini檔案,預設是隐藏隻讀的,找到 Windows2003 啟動配置,在後面加上空格 /PAE ,儲存;重新開機示例所示: multi(0)disk(0)rdisk(0)partition(2)/%systemroot%= "Windows Server 2003 Datacenter Edition " /PAE 4.1. 在Windows Server 2003使用SQL Server 2005概述 SQL Server 2005 支援在 Windows Server 2003 上動态配置設定 AWE 映射記憶體。通過允許通路超過在所配置虛拟記憶體位址空間上設定的限制的可用實體記憶體,AWE 可擴充 32 位作業系統上運作的應用程式的功能。 啟動過程中,SQL Server 僅保留一小部分 AWE 映射記憶體。需要額外的 AWE 映射記憶體時,作業系統會動态地将其配置設定給 SQL Server。同樣,如果需要更少的資源,SQL Server 會将 AWE 映射記憶體返還給作業系統,以供其他程序或應用程式使用。SQL Server 和作業系統之間的這種平衡受到 min server memory 和 max server memory 參數的限制。 在 Windows Server 2003 中運作 SQL Server 2005 時,無需重新啟動 SQL Server 執行個體,SQL Server 即可響應 max server memory 和 min server memory 配置選項的更改。 在 Windows Server 2003 下,如果伺服器的實體記憶體小于虛拟記憶體位址空間上已配置的限制,則該伺服器支援動态 AWE 映射記憶體。在這種情況下使用 AWE 不會對性能産生影響,但添加的實體記憶體超過虛拟記憶體位址限制時,可以在不重新啟動伺服器的情況下使用此實體記憶體。 4.2. 啟用AWE 對于 Windows Server 2003,由于 AWE 映射記憶體管理是動态的,是以在啟動過程中,隻配置設定總可用實體記憶體的一小部分。 如果已成功啟用此選項,當 SQL Server 2005 執行個體啟動時,SQL Server 錯誤日志中将寫入消息“Address Windowing Extensions enabled”。 必須在啟用 AWE 之前為 SQL Server 帳戶授予 LOCK PAGE IN MEMORY 權限。 awe enabled 選項是一個進階選項。如果使用 sp_configure 系統存儲過程來更改該設定,則隻有在 show advanced options 設定為 1 時才能更改 awe enabled。必須重新啟動 SQL Server 執行個體,AWE 才會生效。 4.3. 啟用鎖定記憶體頁選項(windows) 啟用鎖定記憶體頁選項 在"開始"菜單上單擊"運作"子菜單,然後在"打開"框中鍵入"gpedit.msc"。 在"組政策"控制台上,展開"計算機配置",然後展開"Windows 設定"。 展開"安全設定",然後展開"本地政策"。 選擇"使用者權限配置設定"複選框。 詳細資料窗格中随即顯示出政策。 在詳細資料窗格中,輕按兩下"鎖定記憶體頁"。 在"本地安全政策設定"對話框中,單擊"添加"按鈕。 在"選擇使用者或組"對話框中,添加有權運作 sqlservr.exe 的帳戶。 4.4. 啟用SQL Server 2005的AWE支援若要啟用 AWE,請将 awe enabled 設定為 1。除非指定了 max server memory 的值,否則 SQL Server 将保留幾乎所有可用記憶體,隻留下 128 MB 或更少。 如果已成功啟用該選項,則當 SQL Server 2000 執行個體啟動時,SQL Server 錯誤日志中将出現"已啟用位址視窗擴充"這條消息。 awe enabled 是進階選項。如果正在使用 sp_configure 系統存儲過程更改該設定,則隻有 當 show advanced options 設定為 1 時才能更改 awe enabled。  如下:設定SQL 使用6G的記憶體   sp_configure 'show advanced options', 1   RECONFIGURE   GO   sp_configure 'awe enabled', 1   RECONFIGURE   GO   sp_configure 'max server memory', 6144   RECONFIGURE   GO 4.5. 重新啟動服務 必須重新啟動 SQL Server 2005 執行個體才能使更改生效。  net stop mssqlserver  net start mssqlserver  這樣,SQL 服務啟動後,就會把6G的記憶體給鎖定,完全供SQL使用 最後進行服務優化: sc config MSSQLServerADHelper start= disabled sc config MSSQLServerOLAPService start= disabled sc config SQLBrowser start= disabled sc config MsDtsServer start= disabled net stop MSSQLServerADHelper net stop MSSQLServerOLAPService net stop SQLBrowser net stop MsDtsServer