標籤:microsoft windows2003 大記憶體 物流系統 伺服器
狀況分析
環境如下:
硬體:IBM3610伺服器
系統:windows2003 x32
應用:內部物流系統軟體 C/S架構
資料庫:SQL Server2000
問題:
因為物流系統架構問題(開發比較早05年開發架構)服務端和用戶端都只能運行在32位環境下
這樣導致系統記憶體用不上去,一直在3.25G左右
SQL的運行記憶體一旦上去退步下來
使用者串連量大的時候很卡,並發上不去
最後搜羅了很多方法,進行32位環境下的記憶體最佳化,具體如下:
1.Windows 2003 企業版 開啟PAE更好的利用4G以上記憶體
修改boot.ini檔案,如下:
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Advanced Server"
/fastdetect /PAE
2.啟用鎖定記憶體頁選項(windows)
啟用鎖定記憶體頁選項
在"開始"菜單上單擊"運行"子功能表,然後在"開啟"框中鍵入"gpedit.msc"。
在"組策略"控制台上,展開"電腦配置",然後展開"Windows 設定"。
展開"安全設定",然後展開"本地策略"。
選擇"使用者權限分配"複選框。
詳細資料窗格中隨即顯示出策略。
在詳細資料窗格中,雙擊"鎖定記憶體頁"。
在"本地安全性原則設定"對話方塊中,單擊"添加"按鈕。
在"選擇使用者或組"對話方塊中,添加有權運行 sqlservr.exe 的帳戶。
3.啟用SQL的AWE
code 如下,設定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.必須重新啟動 SQL Server 2000 執行個體才能使更改生效。
net stop mssqlserver
net start mssqlserver
伺服器最佳化案列分析之SQL server記憶體最佳化