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

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

請問這個處理方法正確嗎?
還是 不要常常重開機比較好
但又很擔心吃滿以後 使用者端會使用異常
2018-08-27 8:35 發佈
不要緊張.你應該可以看到被吃的記憶體.都是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

內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?