SQL Server 內(nèi)存占用高分析及解決辦法
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
一、問(wèn)題1.1、SQL Server內(nèi)存占用高 ,內(nèi)存不釋放 1.2、SQL Server 內(nèi)存使用策略SQL Server對(duì)服務(wù)器內(nèi)存的使用策略是有多少占多少(大約到剩余內(nèi)存為4M左右)只用在服務(wù)器內(nèi)存不足時(shí), 才會(huì)釋放一點(diǎn)占用的內(nèi)存,所以很多時(shí)候,我們會(huì)發(fā)現(xiàn)運(yùn)行SQL Server的系統(tǒng)內(nèi)存往往居高不下這些內(nèi)存一般都 是SQL Server運(yùn)行時(shí)候用作緩存的。 數(shù)據(jù)緩存: 例如:你運(yùn)行一個(gè)select語(yǔ)句,那么SQL Server會(huì)將相關(guān)的數(shù)據(jù)頁(yè)(SQL Server操作的數(shù)據(jù)都是以頁(yè)為單位的,在 SQL Server中頁(yè)的大小始終是8kb的大小,頁(yè)有不同的類型:數(shù)據(jù)頁(yè),索引頁(yè),系統(tǒng)頁(yè)等等)加載到內(nèi)存中進(jìn)行 緩存,以便于再次請(qǐng)求此頁(yè)的數(shù)據(jù)的時(shí)候,直接從內(nèi)存返回,就無(wú)需讀取磁盤了,大大提高了速度。 執(zhí)行命令緩存: 如執(zhí)行存儲(chǔ)過(guò)程,自定函數(shù)時(shí),SQL Server 需要先二進(jìn)制編譯再運(yùn)行,編譯后的結(jié)果也會(huì)緩存起來(lái),再次調(diào)用時(shí)就無(wú)需再次編譯。 二、解決辦法當(dāng)我們知道SQL Server 內(nèi)存占用方式,就有以下兩種解決辦法
結(jié)果集部分重要指標(biāo)解釋(請(qǐng)注意, 1、Total Server Memory (KB)
2、Target Server Memory (KB)
3、Memory Grants Outstanding
4、Page Life Expectancy (PLE)
5、Available Physical Memory (KB)
6、Available Paging File (KB)
7、Percent of Committed Memory in WS
8、System Physical Memory Low
9、Page Faults
10、Memory Grants Pending
11、Lock Pages in Memory Usage (KB)
12、Large Pages Allocated (KB)
這些關(guān)鍵指標(biāo)提供了關(guān)于SQL Server內(nèi)存使用情況的全面視圖,并且對(duì)于診斷性能問(wèn)題非常有價(jià)值。通過(guò)定期監(jiān)控這些指標(biāo),可以及時(shí)發(fā)現(xiàn)潛在的問(wèn)題,并采取適當(dāng)?shù)拇胧﹣?lái)優(yōu)化SQL Server的性能。此外,結(jié)合動(dòng)態(tài)管理視圖(DMVs),如 緩存清除命令
以上命令雖然會(huì)清除掉現(xiàn)有緩存,為新的緩存騰出空間,但是Sql server并不會(huì)因此釋放掉已經(jīng)占用的內(nèi)存。Sql Server并沒(méi)有提供任何命令允許我們釋放不用到的內(nèi)存。因此我們只能通過(guò)動(dòng)態(tài)調(diào)整Sql Server可用的物理內(nèi)存設(shè) 置來(lái)強(qiáng)迫它釋放內(nèi)存。 如果想讓 Sql Server 主動(dòng)釋放 占用并空閑的內(nèi)存空間,可以設(shè)置Sql Server占用內(nèi)存的上限,就會(huì)讓Sql server在 內(nèi)存上限范圍內(nèi),主動(dòng)清除臟數(shù)據(jù)替換成熱數(shù)據(jù)。因此還得如下操作 三、設(shè)置內(nèi)存最大占用值設(shè)置方式: 從自帶的studio 連接,,在數(shù)據(jù)庫(kù)服務(wù)器名稱上點(diǎn)擊【右鍵】,選擇【屬性】,然后,找到【內(nèi)存】選項(xiàng),在右邊的【使用AWE分配內(nèi)存】(sqlServer64的應(yīng)該不用勾)左邊把對(duì)勾打上。在最大服務(wù)器內(nèi)存(MB)上填入適當(dāng)?shù)拇笮。ň唧w填多大,肯定不能超過(guò)計(jì)算機(jī)的物理內(nèi)存,建議控制在60%-75%),設(shè)置成功后重啟 四、 其他結(jié)果集圖片:執(zhí)行 DBCC MemoryStatus 轉(zhuǎn)自https://www.cnblogs.com/blbl-blog/p/18676524 該文章在 2025/1/18 10:05:29 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |