Win server 2008 R2裝SQL後 記憶體越吃越多降不下來

請問 伺服器2008 R2 安裝好SQL後 上線供大家使用
記憶體安裝為16GB
剛開機為2.多 3.多GB
一天後4.多
慢慢5.多
6.多
一直吃到11.多GB
只會上升不會下降
無安裝任何軟體
就純SQL加一個付費版的知名防毒軟體
目前的解決方法是定時大概2個禮拜重新開機一次
讓他釋放掉

請問這個處理方法正確嗎?
還是 不要常常重開機比較好
但又很擔心吃滿以後 使用者端會使用異常
不要緊張.你應該可以看到被吃的記憶體.都是SQL吃掉的
比較簡單的講法就是,SQL 會把常讀取的資料放在記憶體中,讓讀取加快
所以 記憶體會不斷地被SQL占用


但!! 如果不是SQL 吃掉的,問題就大了~~~

asdf3164 wrote:
請問 伺服器2008...(恕刪)


這是 SQL Server 的特性,記憶體會逐漸吃滿。如果你增加到 32G 也是會這樣。
只要服務的效能沒有變差,不見得兩週重開一次。
習慣了你的聲音, 你的氣味, 你的存在...連思念都變成了習慣...

Mark543 wrote:
不要緊張.你應該可...(恕刪)

喔喔 原來是這樣
那請問
那這樣是不是吃越滿越好
讓sql讀取更快 謝謝

parrot wrote:
這是 SQL Server...(恕刪)

所以就算增加到64gb
他也會一路吃到64嗎QQ
感謝
找出SQL瓶頸

你可以比照上面的連結
去看一下是否有瓶頸,並不是記憶體多大就一定會吃到多大
有瓶頸,再針對該問題去升級,或調整就好
平常可以用工具去紀錄CPU,磁碟IO,記憶體的使用
方便判斷你長期的需求,跟未來需要升級主機的幅度
如樓上所說
你OS有多少記憶體 SQL他就吃掉多少
好處 SQL運作快 壞處 吃到連OS本身 都受影響
你要進去SQL設定 記憶體 使用最大值
如 要給OS用4G 那SQL能用最大記憶體就是12G
lishen wrote:
如樓上所說你OS有...(恕刪)
+1 要設定最大值, 不然他預設就是有多少盡量吃多少, 不過建議RAM裝32 64 比較好, 留4G給系統用..
原來 原理是這樣呀
感激不盡

謝謝你們
原來設定好最大值
就不會影響OS了
我再去爬文看看最大值如何設定
謝謝

asdf3164 wrote:
原來 原理是這樣呀...(恕刪)



SP_CONFIGURE 'Max Server Memory' , 12288
GO
RECONFIGURE
GO



====

以上情境是 RAM 16GB, 分配12GB給SQL Server


記憶體越大, 讀取的時候當然越有可能在記憶體裡面找到
但越大當然就越貴..

所以適當就好, 夠不夠大, 簡單的方法是去算cache hit ratio,
超過90%就夠了..


USE master
GO
SELECT object_name, counter_name, cntr_value, @@VERSION
FROM sys.dm_os_performance_counters
WHERE [counter_name] LIKE 'Buffer cache hit ratio%';
GO



Buffer cache hit ratio(%) = 100.0 * Buffer cache hit ratio / Buffer cache hit ratio base

文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!