SQLSERVER吞噬記憶體解決記錄

2021-09-20 12:00:30 字數 1095 閱讀 3279

現在手上有乙個不大不小的系統,執行了一段時間,因為是24*7不斷執行,所以記憶體逐漸增高,慢慢的會飆到95%以上,然後不得不重啟電腦,因為用的是雲,怕虛擬機器重啟down掉起不來,重啟操作還只能在凌晨4、5點人為弄,周而復始的搞很累,於是下決心找出來到底是什麼吞記憶體

以上兩張圖是系統的配置和記憶體占有情況,可以計算出來,在任務管理器中實際顯示使用的記憶體不到2g,而我4核8g的伺服器已經是相對不錯的配置了,到底是什麼東東占用了記憶體呢,為什麼沒有在任務管理器裡面顯示出來?

為了達到這個目的,我找到了微軟官方的工具 rammap

執行一看,awe這條佔了7g多,那awe又是什麼呢,具體是哪個軟體導致的呢?繼續往下挖

首先是awe的定義,從這篇可以找到,可以看到awe和sql有關

於是找到這篇why does my sql server use awe memory? and why is this not visible in rammap?」

從標題基本已經可以猜測到了,這事肯定是sqlserver幹的,繼續往下了解

這兩篇會告訴你sqlserver和awe的關係

這篇會告訴你如何限制sqlserver不停的吞噬記憶體,基本命令如下:

sp_configure 'show advanced options', 1;

goreconfigure;

gosp_configure 'max server memory', 4096; --設定最大可使用記憶體為4g

goreconfigure;

go這篇會告訴你限制max server memory已經不合適了應該加記憶體了

以上,基本解決記憶體問題,隨筆記錄

SQLSERVER吞噬記憶體解決記錄

現在手上有乙個不大不小的系統,執行了一段時間,因為是24 7不斷執行,所以記憶體逐漸增高,慢慢的會飆到95 以上,然後不得不重啟電腦,因為用的是雲,怕虛擬機器重啟down掉起不來,重啟操作還只能在凌晨4 5點人為弄,周而復始的搞很累,於是下決心找出來到底是什麼吞記憶體 以上兩張圖是系統的配置和記憶體...

pci hole 被吞噬的記憶體

參見wiki pci 空洞是32位硬體和32位作業系統乙個導致計算機顯示的記憶體比實際安裝的記憶體少的乙個限制。這部分不可用的記憶體是由於裝置需要位址空間來和cpu以及系統軟體通訊。32位的硬體一共只有4gb可定址的位址空間,所以為了讓裝置有空間可以通訊,乙個裝上了足夠記憶體的機器上的一部分真實的物...

解決SQL Server虛擬記憶體不足情況

症狀 在具有 2 gb 或更多 ram 的計算機上,除了 256 mb sql server 7.0 或 384 mb sql server 2000 虛擬位址空間之外,sql server 在啟動過程中保留剩下的所有虛擬位址空間以供緩衝池使用。另外,為了儲存資料和過程快取,sql server 使...