我們知道
在isql中
可以用sp_configure
memory
去看SQLServer目前使用的內存
這個數字單位為page
每一page為
k
當memory的值被修改後
重新啟動SQL Server時
新的值才能生效當然
SQL Server內存與機器內存有一定的比例關系
Server的內存太小
會影響Server性能
甚至無法啟動
內存太大
SQL Server也不能啟動所以
了解SQL Server內存是如何分配的
對於正確地調整SQL Server內存的數值
保證Server最有效地運行會有很大的幫助
一內存使用 操作系統及其他運行程序所占內存
SOL Server執行代碼所占內存
Kernl&Server 結構所占內存
如
user connections
devices
open databases
open objects
locks
network packet buffers
extent i/o buffers等
Procedure cache
Data Cache
二內存分配舉例(以 SQL SERVER 版本為參考) 由上表可知
機器內存中去掉操作系統及其他程序所需的內存
剩下的內存就可以分配給SQL Server
假設SQL Server內存值為
page
即
*
k=
MB SQL Server
執行代碼所占內存
對於不同平台
不同版本SQL Server執行代碼大小不同
但對某種固定的平台及版本大小是固定的
大約在
MB~
MB
用dbcc memusage可以觀察到執行代碼 的大小
我們假設為
MB
則剩下內存(
)=
MB
此外
靜態SQL Server額外還需要一些保留內存(此值不因用戶修改configure參數值而改變)
大概在
~
MB
此例中我們假設為
MB
下一步
SQL Server分配用戶定義的configure參數所需的內存
如下表
note:
stack size
default
k
影響內存的參數還有DefaultNetworkPacketSize
extenti/obuffers等
此處忽略
此時
SQL Server剩下的分配給cache的總內存為(
)=
MB
在Cache中
procedure Cache所占內存依賴於sp_configure中procedure Cache參數值缺省為
即占總Cache 的
%
那麼Cache中的
%為data Cache
此例中
我們設procedure Cache仍為
data cache =(
MB) *
procedure Cache =(
MB) *
Data Cache用於從database中讀取頁信息
如:data
log index pages procedure Cache用於存放compiled objects
如
stored procedures
triggers
rules
同時處理query
cursor等
Procedure Cache&Data Cache不能太小
否則影響使用
可以通過dbce memusage 查詢
使Procedure Cache有足夠大小
調整好Data Cache與Procedure Cache的比例
此外
我們還可以從SQL Server Errorlog中查看到Cache總內存空間情況
Server:Number of buffers in buffer cache:
Server:Number of proc bufferrs allocated:
Server:Number of blocks left for proc headers:
第一條信息表示用於data Cache的頁數
pages
第二條信息表示用於procedure Cache的頁數
pages
第三條信息表示procedure Cache中一次最多能有
個已編譯過的objects
我們還應知道
如果default network packet size參數變化了
則分配給network packet的總內存為
user connections *
*default network packet size 缺省值為
*
*
=
bytes
若增加default network packet size值
應考慮SQL Server內存所剩空間
特別是data &procedure Cache的需要
三使用dbcc memusage命令 dbcc memusage命令用於顯示SQL Serrver內存使用信息
也是查看SQL Server執行代碼大小的唯一途徑
>dbcc traceon (
)
>go
>dbcc memusage
>go
>dbcc traceoff (
)
>go
信息中
code size表示SQL Server執行代碼大小
四不同SQL Server版本的內存要求 educity
cn/img_
/
/
/
gif>
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22079.html