日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Sql server不斷增加的內(nèi)存占用

 博楓 2007-03-28
當 SQL Server 數(shù)據(jù)庫引擎在 Microsoft Windows NT 或 Windows 2000 上運行時,其默認內(nèi)存管理行為并不 是獲取特定的內(nèi)存量,而是在不產(chǎn)生多余換頁 I/O 的情況下獲取盡可能多的內(nèi)存。為此,數(shù)據(jù)庫引擎獲取盡可能多的可用內(nèi)存,同時保留足夠的可用內(nèi)存以防 操作系統(tǒng)交換內(nèi)存。 

  SQL Server 實例在啟動時通常獲取 8 到 12 MB 的內(nèi)存以完成初始化過程。當實例完成初始化 后,就不會再獲取更多的內(nèi)存,直到用戶連接到該實例并開始產(chǎn)生工作負荷。這時,該實例根據(jù)需要不停地獲取內(nèi)存以支持工作負荷。隨著更多的用戶連接并運行查 詢,SQL Server 將獲取支持需求所需的額外內(nèi)存。該實例將繼續(xù)獲取內(nèi)存直到達到自身的內(nèi)存分配目標,并且直到達到該目標的下限才會釋放任何內(nèi) 存。

  為了在不產(chǎn)生多余換頁 I/O 的情況下獲取盡可能多的內(nèi)存,SQL Server 的每個實例都設(shè)置一個內(nèi)存獲取目標,直到計 算機的可用物理內(nèi)存在 4 MB 到 10 MB 的范圍內(nèi)。之所以選擇該范圍是因為測試表明 Windows NT 和 Windows 2000 都 有最小內(nèi)存交換,直到內(nèi)存分配等于可用物理內(nèi)存減去 4 MB。工作負荷處理任務(wù)重的 SQL Server 實例保留的可用物理內(nèi)存為范圍的較低端  (4 MB);工作負荷處理任務(wù)輕的實例保留的可用物理內(nèi)存為范圍的較高端 (10 MB)。

  SQL Server 實例的目標隨工 作負荷的改變而變化。當更多的用戶連接并產(chǎn)生更多的工作時,該實例傾向于獲取更多的內(nèi)存以使可用的內(nèi)存保持在 4 MB 的限制以下。當工作負荷減輕時, 該實例將其目標調(diào)整為 10 MB 的可用空間,并釋放內(nèi)存給操作系統(tǒng)。將可用空間量保持在 10 MB 與 4 MB 之間可防止  Windows NT 或 Windows 2000 過多執(zhí)行換頁操作,同時使 SQL Server 得以獲得盡可能最大的高速緩沖存儲器而不至引 起額外的交換。

  實例的目標內(nèi)存設(shè)置與數(shù)據(jù)庫緩沖池的頁相對于可用池大小的需求有關(guān)。在任何即時點,緩沖區(qū)頁的總需求取決于滿足所有當 前執(zhí)行的查詢所需的數(shù)據(jù)頁數(shù)。如果相對于高速緩沖存儲器內(nèi)的頁數(shù),數(shù)據(jù)頁的需求很大,則當前在緩沖區(qū)內(nèi)的每一頁很可能在相對較短的時間內(nèi)由新頁替換。這可 由‘緩沖區(qū)管理器‘對象的‘頁生命期‘性能計數(shù)器來度量。對于相對較小的緩沖區(qū)有較高需求的情況將生成短生命期,而純粹的影響就是使 I/O 增加,因為 在頁可由多個邏輯讀取引用之前往往要被重寫。為減輕這個問題,數(shù)據(jù)庫引擎可以獲取更多的內(nèi)存以增加高速緩沖存儲器的大小。當頁生命期長時,數(shù)據(jù)庫引擎將可 用內(nèi)存定位于目標的高端 (10 MB);而當頁生命期短時,數(shù)據(jù)庫引擎定位于目標范圍的低端 (4 MB)。

  隨著其它應(yīng)用程序在運 行 SQL Server 實例的計算機上啟動,它們消耗內(nèi)存致使可用物理內(nèi)存量降到 SQL Server 的目標以下。SQL Server 實例于 是從其地址空間釋放足夠內(nèi)存,以使可用內(nèi)存量回到 SQL Server 的目標。如果有其它應(yīng)用程序停止運行而使可用內(nèi)存增多,SQL Server  實例將增加其內(nèi)存分配大小。SQL Server 可以每秒釋放并獲取幾 MB 字節(jié)的內(nèi)存,這使它得以根據(jù)內(nèi)存分配變化作出快速調(diào)整。

你可以通過設(shè)置允許sql server可以使用的最大內(nèi)存來做限制:最小和最大服務(wù)器內(nèi)存的影響 

min server memory 和 max server memory 配置選項建立由 SQL Server 數(shù)據(jù)庫引擎使用的內(nèi)存量的上限 和下限。數(shù)據(jù)庫引擎并不立即獲取 min server memory 中指定的內(nèi)存量。數(shù)據(jù)庫引擎啟動時只使用初始化所需的內(nèi)存。隨著數(shù)據(jù)庫引擎工作負 荷的增加,它將繼續(xù)獲取支持工作負荷所需的內(nèi)存。數(shù)據(jù)庫引擎直到到達 min server memory 中指定的內(nèi)存量才會釋放任何所需的內(nèi)存。一旦 到達 min server memory,數(shù)據(jù)庫引擎將使用標準算法(使操作系統(tǒng)的可用內(nèi)存保持在 4 MB 到 10 MB 之間)獲取和釋放所需內(nèi) 存。唯一的區(qū)別是數(shù)據(jù)庫引擎從不將內(nèi)存分配降到 min server memory 所指定的水平下,也從不獲取超過 max server memory 所指定水平的內(nèi)存。

  數(shù)據(jù)庫引擎獲取的內(nèi)存量完全取決于放置在實例上的工作負荷。不處理很多請求的 SQL Server 實例可能永遠達不到 min server memory。

  如果為 min server memory 和 max server memory 指定相同的值,則一旦分配給數(shù)據(jù)庫引擎的內(nèi)存達到該值,數(shù)據(jù)庫引擎將停止動態(tài)釋放和獲取內(nèi)存。

如果在運行 SQL Server 實例的計算機上頻繁啟動或停止其它應(yīng)用程序,啟動這些應(yīng)用程序所需的時間可能會因 SQL Server 實例分配 和釋放內(nèi)存而延長。另外,如果 SQL Server 是幾個在一臺計算機上運行的服務(wù)器應(yīng)用程序中的一個,系統(tǒng)管理員可能需要控制分配給  SQL Server 的內(nèi)存量。在這些情況下,可以使用 min server memory 和 max server memory 選項控制  SQL Server 可以使用的內(nèi)存量。

  何設(shè)置固定的內(nèi)存量(企業(yè)管理器)

  設(shè)置固定的內(nèi)存量

  展開一個服務(wù)器組。

  右擊一個服務(wù)器,再單擊‘屬性‘。

  單擊‘內(nèi)存‘選項卡。

  單擊‘使用固定的內(nèi)存大小 (MB)‘,然后將固定內(nèi)存滑塊放在適當?shù)奈恢谩?br>
  說明 如果使用默認設(shè)置,則 Microsoft® SQL Server™ 將動態(tài)配置內(nèi)存。

  這是由sql server的內(nèi)存管理機制決定的。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多