遠程登錄服務器時發現程序執行時特別卡,利用任務管理器查看了下系統資源使用情況,監視一段時間后發現CPU占用不大,但是內存占用量居高不下,然后發現是Sqlserver.exe這個服務占用內存很大,達到了近2G服務器配置的8G內存,重啟Sqlserver服務后內存只有50M左右,但是幾天過后又達到了近2G的內存占用,網上查找了下關于這方面的優化策略。
1.使用SQL語句設置SQLserver內存分配:
--a.配置最小內存
--將最小內存設置為0MB
exec sp_configure N'min server memory (MB) ',16
--b.配置最大內存
--將最大內存設置為256MB
exec sp_configure N'max server memory (MB)',266
執行結果:
配置選項 'min server memory (MB)' 已從 14 更改為 16。請運行 RECONFIGURE 語句進行安裝。
配置選項 'max server memory (MB)' 已從 444 更改為 266。請運行 RECONFIGURE 語句進行安裝。
最后執行下面語句進行安裝
reconfigure with override
執行結果:
命令已成功完成。
系統服務日志:
配置選項 'min server memory (MB)' 已從 14 更改為 16。請運行 RECONFIGURE 語句進行安裝。
配置選項 'max server memory (MB)' 已從 444 更改為 266。請運行 RECONFIGURE 語句進行安裝。
2.手動操作設置
右擊本地服務器-->服務器屬性-->內存 設置完,單擊確定即可。
?一般專門的數據庫服務器內參最大不要超過系統的80%。避免內存被數據庫占滿造成服務器掛掉。
一般設置完后,需要將該SQL服務重啟下。