亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

SQL SERVER的內存會不斷增加,問題分析

添加時間:2013-3-27 15:12:39  添加: 思海網絡 

當 SQL Server 數據庫引擎在 Microsoft® Windows NT® 或 Windows® 2000 上運行時,其默認內存管理行為并不是獲取特定的內存量,而是在不產生多余換頁 I/O 的情況下獲取盡可能多的內存。為此,數據庫引擎獲取盡可能多的可用內存,同時保留足夠的可用內存以防操作系統交換內存。

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

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

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

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

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

你可以通過設置允許sql server可以使用的最大內存來做限制:

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

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

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

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


何設置固定的內存量(企業管理器)
設置固定的內存量

展開一個服務器組。


右擊一個服務器,再單擊"屬性"。


單擊"內存"選項卡。


單擊"使用固定的內存大小 (MB)",然后將固定內存滑塊放在適當的位置。


說明  如果使用默認設置,則 Microsoft® SQL Server™ 將動態配置內存。

這是由sql server的內存管理機制決定的

關鍵字:SQL SERVER、數據庫、服務器

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站