SQL Server服務器內存升級后的煩惱 |
發布時間: 2012/8/8 19:53:10 |
中國IDC評述網10月28日報道:不久之前,筆者一個在企業中從事網管工作的朋友向我求助關于SQL Server服務器內存升級后遇到的問題。原來,他們企業準備上一個企業郵箱系統。為了節省開支,他們準備在原來的SQL Server服務器上部署企業的郵箱服務器。為了提高這個服務器的性能,讓其能夠承擔其兩種應用服務的重任,所以,他們對內存進行了升級。從原先的1G升級到了2G。但是,內存升級完以后,郵箱應用服務的性能不但沒有改善,而且,還有惡化的趨勢。運行一段時間后,這臺服務器上運行的郵箱系統就出現了異常情況。時不時的會報出內存分配不足的情況。一開始,他們還以為是郵箱服務器跟SQL Server服務器不兼容。故還請了郵箱服務器的技術人員前來查看。經過他們的檢查,發現是SQL Server服務占用的大部分內存所導致的。SQL Server服務所需要的內存,從升級之前的600M左右一下子到了1.5個G。難怪郵箱應用服務要警報說內存不夠了。
原因分析
筆者對這種問題已經是見怪不怪了,已經遇到過好幾次類似的故障。在SQL Server數據庫啟動的時候,數據庫系統會根據物理內存的大小來動態的增大或者縮小高速緩沖區的容量。這主要是為了提高SQL Server服務器的性能才如此的設計的。
我們知道,一般情況下,高速緩沖區越大,則SQL Server服務器的性能越好。這主要是因為有些用戶查詢過的數據都可以放在高速緩沖區(即內存的其中一部分)中。如此的話,當用戶下次再次需要這些數據的時候,就不用到硬盤中去讀取,而直接在內存中讀取即可。而從內存中讀取數據要比在硬盤中讀取速度要快的多。
所以,只要當服務器的可用內存在4MB與10MB之間的話,數據庫系統就會把它的高速緩沖區不斷的擴大。如此的話,當郵箱服務器突然需要用到比較大的內存,如對郵箱進行備份或者有用戶群發郵件的時候,就會報錯說“內存分配不足”。
故一般只是內存升級,往往不能夠解決SQL Server服務與其他應用服務搶占內存的情況。為了讓SQL Server能夠與其他應用服務友好的共處,數據庫管理員還需要對內存進行合理的分配,限制SQL Server數據庫服務內存的占用率。
從上文中可以總結出SQL Server數據庫服務器內存并不是可以無限大的增大,要符合技術的限制要求,希望上文中介紹的內容對大家能夠有所幫助。 本文出自:億恩科技【www.vbseamall.com】 |