不久之前,筆者乙個在企業中從事網管工作的朋友向我求助關於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 伺服器記憶體往往會占用很高。檢視記憶體狀態 dbcc memorystatus這些記憶體一般都是sql server執行時候用作快取的 1.資料快...
伺服器記憶體
一 記憶體概述 記憶體的作用是暫時存放cpu運算的資料和所有程式執行的場地。二 ddr記憶體發展簡介 在ddr2中,還有fbd記憶體 三 常見記憶體型別 udimm,rdimm,lrdimm,nvdimm dimm的意思是雙列直插記憶體 什麼是rdimm和lrdimm?rdimm即register記...
sqlserver伺服器 急救
今天突然發現,sqlserver伺服器 遠端桌面連不上了,但是資料庫都能正常連線,記得是上次更改了遠端桌面的埠,但是防火牆上沒有開啟規則。現在通過資料庫使用者解決方法如下 作為備忘 開啟xp cmdshell sql server blocked access to procedure xp cmd...