在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 應用軟件教程 > 詳細頁面

深入SQL SERVER 2000的內存管理機制(3)

深入SQL SERVER 2000的內存管理機制(3)

更新時間:2025-10-19 文章作者:未知 信息來源:網絡 閱讀次數:

數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應...
數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應用程序彼此獨立的數據集合。

內存區域

SQL Server是分2塊區域來組織內存分配,分別是Bpool (緩沖池區)和MemToLeave (內存釋放區),如果你使用AWE內存,那么實際上有第三個區:Windows AWE支持的高于3GB的物理內存區。

緩沖池區是這3塊內存區中最卓越的,是SQL SERVER最初分配的緩沖池供最初的數據頁和索引頁使用,并且被用來分配小于8K的內存。MemToLeave 是由虛擬內存空間組成包括在用戶內存空間沒有被緩沖池區使用的內存空間之中。Windows AWE調用3GB以上內存空間的函數作為緩沖池區的擴展可以提供額外的內存空間緩存數據頁和索引頁。

當你啟動SQL SERVER時,緩沖池區的上限是根據機器中物理內存推算或用戶內存空間的大小。一旦緩沖池區的大小被確定,內存釋放區就緊隨其后,不至于被后面的緩沖池區保留部分劃分成分散的碎片。然后緩沖池區又在內存釋放區旁邊,使用32塊單獨的保留區運行DLL文件和其他在緩沖池區被預定時SQL SERVER中使用的虛擬內存空間。當緩沖池區被預留后,內存釋放區被釋放。這段區域被SQL SERVER內部用來擴展8K的數據頁和分配給其他外部應用(就像:內存消費者是SQL SERVER主要引擎以外的SQL SERVER進程),比如:OLE DB providers,COM對象等等.

因此,當SQL SERVER已經啟動, Bpool (緩沖池區)就被預留,但不提交,同時在該進程在虛擬內存空間內的MemToLeave (內存釋放區)其實是空閑區域.如果你通過性能分析器的 Virtual Bytes Perform 計數器,在SQL Server啟動后看SQL SERVER的進程,你會看到它可以反映Bpool (緩沖池區)預留區.我看到人們有些驚慌,因為這個數值比較高—畢竟,它反映的不是本機器的總共物理內存就是最大的用戶內存空間減去MemToLeave (內存釋放區).這是不用擔心的,比較而言這只是保留區,沒有提交的空間.就如我前面所述,保留空間只是地址空間—并沒有真實的物理內存存儲直到內存空間被提交. 隨著時間的過去,內存空間被提交,Bpool (緩沖池區)將會增加,知道該SERVER原始啟動時確定的上限.

監控SQL Server虛擬內存的使用

     你可以通過 SQL Server:Buffer Manager\Target Pages Perform計數器跟蹤Bpool (緩沖池區)確定的最大空間.因為SERVER不同的部分需要內存, Bpool (緩沖池區)提交8K大小的頁(這是原始保留的直到提交的大小到達確定目標).你可以通過 SQL Server:Buffer Manager\Total Pages Perform計數器跟蹤Bpool (緩沖池區)使用的提交虛擬內存, 你可以通過 Pivate Bytes計數器跟蹤SQL Server進程使用的全部提交的虛擬內存.

因為, 大部分的SQL Server的虛擬內存的使用是來自于Bpool (緩沖池區),通過上面2個計數器可以知道. 一般而言增長和平穩是一前一后地.(請牢記:當應用程序啟動了對AWE的支持, Pivate Bytes計數器不能反映總體SQL Server內存使用情況).如果Total Pages Perform計數器是水平的而Pivate Bytes計數器是向上傾斜的,這一般表示正在從MemToLeave (內存釋放區)分配新的內存.這個分配過程會正常結束—例如:在SERVER中分配相關聯的線程堆棧作為附加的工作線程,這也有可能是一個內部測COM對象或XPROC的內存泄漏.如果一個程序因為MemToLeave (內存釋放區)耗盡而用完虛擬內存空間,這是由于內存泄漏或內存過度消費.(或者在MemToLeave (內存釋放區)中最大空閑塊降低到默認線程堆棧0.5MB以下),這樣SERVER就不能產生新的工作線程,即使在sp_configure max worker threads 的值沒有到.在這種情況下,如果SERVER需要產生新的工作線程來執行一個工作請求—比如:處理一個對SERVER的新的連接請求,這些工作將會延遲,直到SERVER可以產生新的線程或其他的線程可以使用.這樣,在有足夠的MemToLeave (內存釋放區)釋放或其他的工作線程可以有效的處理連接之前,系統會阻止一個用戶連接到SERVER,因為這個連接會超時中止(time out).

內存分配器

    在SERVER中一個內存的消費者初始化一個內存分配器,首先是產生一個內存對象來管理這些請求.當這個對象來分配這些請求,他在SERVER的內存管理器中,從Bpool (緩沖池區)或MemToLeave (內存釋放區)來履行這些請求.如果這些請求小于8K,這些請求通常在Bpool (緩沖池區) 分配.如果請求需要8K或以上的內存空間, 這些請求通常在MemToLeave (內存釋放區)分配.因為一個單獨的內存對象可以用來執行多次內存分配.所以有可能一次內存分配正好在8K以下(包括管理對象的消費)的請求被分配在MemToLeave (內存釋放區). 在SQL Server的處理空間中,內存消費者通常是內部的.換句話說,這些內存消費者和對象是SQL Server自己的規范需要消耗內存來執行任務,但也不一定都這樣.也存在一些外部的消費者,就像我前面鎖說的.通常,這些外部的內存消費者調用正常的Win32 API內存函數來分配和管理內存,并且從MemToLeave (內存釋放區)分配內存空間,非常明顯這是SQL Server程序中唯一有效的區域. 可是XPROCS有特殊的異常處理,當一個xproc調用Open Data Services(ODS)  srv_alloc API函數,這完全和其他的內存消費者一樣. 一般而言srv_alloc API函數從Bpool (緩沖池區)申請小于8K的內存,對于大的內存從MemToLeave (內存釋放區)分配.


[page_break]

內存管理者

當SERVER運行時,內存管理者檢查物理內存的剩余有效容量,以保證WINDOWS和其他的應用程序可以可以平穩的運行.這個有效內存的大小在4MB和10MB直接變化.(在WINDOWS 2003中更接近10MB)并且這個基于系統內核加載和Bpool (緩沖池區)中的頁生命周期.如果SERVER上的有效物理內存空間在這個閥值以下,SERVER會減少提交Bpool (緩沖池區)頁來收縮內存物理存儲的使用(假設動態內存分配是激活的).內存管理者也保證提交的內存頁在指定的時間點后空閑,這樣在接受到一個新的分配請求時,就不再需要等待內存分配.通過”空閑”,我的意思是:內存頁提交后,但沒有被使用.沒有使用的提交Bpool (緩沖池區)頁可以通過一個空閑頁清單來跟蹤.這樣所有得新得頁都來自空閑頁清單, 內存管理者從Bpool (緩沖池區)預留區提交更多得頁直到全部得預留區被提交.你看:Process:Private Bytes Perfmon 計數器緩慢增長(通常是成直線的)就是這個原因.

在多CPU系統中,沒一個都有自己單獨的空閑頁清單,當一個空閑頁被要求響應一個應用程序的請求,首先在當前的CPU的空閑頁清單中滿足分配的空間被檢查,然后是其他CPU的空閑頁清單.這樣更好的利用每個處理器的本地緩存,提高了在多處理器的SERVER上提高穩定性.你可以通過SQL Server:Buffer Partition Perform對象監視指定的Bpool (緩沖池區)區,你可以可以通過SQL Server:Buffer Manager\Free Pages Perform計數器監視所有的Bpool (緩沖池區)區.

因此在SQL SERVER整個運行過程中,SQL SERVER的內存處理器(無論內存線程管理器或同其他的線程服務)監視系統的內存使用狀態,確認合理的剩余空閑物理內存的數量給其他的系統和預留合理的空閑頁響應新的內存請求.當SERVER使用AWE內存,有些內存狀態必需改變. Bpool (緩沖池區)區開始通過SERVER的物理內存中獲得和鎖定內存,內存鎖的數量的變化是根據服務器最大內存是否設置了.如果配置了, Bpool (緩沖池區)區試圖根據最大的服務器內存鎖住相應數量的內存.如果沒有配置, Bpool (緩沖池區)區會鎖住接近128MB內存的所有物理內存,只有少量的區域留給其他處理.然后Bpool (緩沖池區)區使用高于3G的物理內存(AWE內存)用作運行數據和索引的頁文件. Bpool (緩沖池區)區根據需要映射物理內存和虛擬內存,因此可以被32位的指針引用.

概述

你已經知道了:SQL Server內存管理器是一個難點.理解一個程序是如何分配和管理內存是了解一個程序如何工作的基礎.內存是非常重要的資源,它的有效利用是一個可靠應用程序設計的基本因素,懂得一個應用程序內存管理機制會是你的程序設計如虎添翼.

一個開發者,他是如何影響你呢?理解SERVER的內存管理機制賦予你如何寫一個高效的應用程序和解決一些和內存相關聯問題的洞察力. 比如說,在一個提高客戶端連接速度的調試中,你提高SQL Server的默認網絡包的大小為8K., 立即,SQL SERVER立刻開始在ERROR LOG中寫錯誤信息,提示預留虛擬內存在MemToLeave (內存釋放區)區有問題.在看到這樣的信息后你立刻會知道這個改變至少是問題的一部分,因為你知道分配8K或更多的內存是在MemToLeave (內存釋放區)區. 這樣SQL Server連接相關聯的緩存也是來自這個區域,因為你已經配置網絡包的大小太高了.配置默認的網絡包適合于.NET framework的SQLClinet Provider 8KB.這種情況并不象聽起來那么合理.實際上,這是非常常見的問題,由于MemToLeave  (內存釋放區)缺乏內存空間而引起的,因為網絡包的大小太大,至少有些部分是這樣的.

同時,了解SQL Server劃分內存的方法可以幫助你了解你定制在SQL Server中運行的代碼是否在系統資源的臨界值,比如數據緩存. 比如說,你建立一個擴展存儲過程調用SRV_PRO()函數來分配內存.假設,暫時你代碼中分配的緩存小于8KB.根據我們前面的討論,我們知道擴展存儲過程是從Bpool (緩沖池區)來分配內存.—可以用作數據緩存.

了解SQL Server是如何管理內存的,可以幫助我們按大小排列系統的開始順序.這可以幫助你計算你所需的物理內存的數量和如何分配和分區給SQL SERVER.比如:良好的理解AWE內存分配和應用程序的內存調整的相對的優勢和缺點,可以幫助確定你的服務器是否需要超過3GB的物理內存和是否需要在啟動時加/3GB的參數.

構思和配置SQL Server的內存管理機制有一個主要的沖突在于構思和配置在SQL Server上運行的應用程序,了解SERVER是如何運行的可以幫助你設計,建立和測試基于SQL Server的應用程序.



全新的路由器不僅讓你更穩定快速地連接無線網絡,更可以讓家中的智能設備連接在一起。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 成人在线免费在线观看| 东京热加勒比无码少妇| 可以在线看黄的网站| 韩国一区二区av| 欧美黄网在线观看| 大地资源网在线观看免费官网| 久热精品在线播放| 天堂在线资源视频| 人妻有码中文字幕| 波多野结衣50连登视频| 国产3p露脸普通话对白| 日韩精品综合在线| 国产一级爱c视频| 日韩精品一区在线视频| 秋霞无码一区二区| 国产伦精品一区二区三区四区视频_ | www.亚洲视频.com| 国产精品自拍合集| 亚洲国产精品无码av| 日韩a级在线观看| 女人天堂av手机在线| 久久精品免费一区二区| 北条麻妃视频在线| 日本中文字幕精品—区二区| 激情文学亚洲色图| 免费在线精品视频| 欧美 日本 亚洲| 另类小说色综合| 日本不卡一区二区三区四区| 日韩精品第1页| 国产男女在线观看| 成人性生交免费看| 欧妇女乱妇女乱视频| 黄色动漫网站入口| 九九热视频免费| 九九热只有这里有精品| 手机看片福利盒子久久| 福利在线小视频| 免费毛片小视频| 一本之道在线视频| 日本不卡在线观看视频| 特级西西444www| 国产精品入口芒果| 91香蕉视频在线观看视频| 久久久久免费看黄a片app| 国产wwwxx| 日韩精品一区在线视频| 男生操女生视频在线观看| 午夜免费福利小电影| 国产永久免费网站| 日本在线观看a| 拔插拔插海外华人免费| 999久久久精品视频| 欧美一级黄色片视频| 欧美日韩激情四射| 一区二区三区日韩视频| 日本成人黄色网| 免费看日本毛片| 免费网站永久免费观看| 999久久久精品视频| 日韩在线第三页| 国产91在线视频观看| 又大又硬又爽免费视频| 大桥未久一区二区三区| 97超碰人人爽| 一本色道久久亚洲综合精品蜜桃 | 波多野结衣av一区二区全免费观看 | 爱豆国产剧免费观看大全剧苏畅| 一女被多男玩喷潮视频| 性生活免费观看视频| 欧美日韩理论片| 欧美视频国产视频| 九一精品久久久| 欧美日韩精品区别| 中文字幕在线视频精品| 色戒在线免费观看| gai在线观看免费高清| 香蕉视频网站入口| 亚洲一区二区三区四区五区xx| 国产免费黄色av| 50路60路老熟妇啪啪| 黄色片一级视频| 精品久久久久久中文字幕2017| 国产一区亚洲二区三区| 老头吃奶性行交视频| 五月天av在线播放| 午夜影院免费版| 成人小视频在线观看免费| 久草热视频在线观看| 999香蕉视频| 中文字幕永久有效| 路边理发店露脸熟妇泻火| 国产精品久久..4399| 国产成人无码av在线播放dvd| 成年人视频在线免费| 毛片毛片毛片毛| 天堂а√在线中文在线 | 美女黄色片视频| 欧美视频国产视频| 免费在线观看视频a| 黄色一级二级三级| 天天干天天色天天爽| 黄色国产一级视频| 制服丝袜中文字幕第一页| 久久久久99精品成人片| 色多多视频在线播放| 激情六月天婷婷| 污污的网站18| 狠狠干视频网站| 超碰超碰在线观看| 国产精品沙发午睡系列| av电影一区二区三区| 99久久久无码国产精品6| 欧洲美女和动交zoz0z| 日韩免费高清在线| 无码人妻精品一区二区蜜桃网站| 欧美日韩怡红院| 久激情内射婷内射蜜桃| 日韩视频在线观看一区二区三区| 国产一级做a爰片久久毛片男| 成年人在线观看视频免费| 拔插拔插海外华人免费| 国产精品av免费| 亚洲77777| 人妻熟女一二三区夜夜爱| 久久av高潮av| 日韩最新中文字幕| 9久久婷婷国产综合精品性色 | 午夜久久久精品| 日韩中字在线观看| 精品视频在线观看一区二区| 久久精品国产露脸对白| 日韩高清第一页| 五月婷婷六月丁香激情| 日日噜噜噜噜久久久精品毛片| 免费国产a级片| www.av中文字幕| 青青青免费在线| 日韩xxxx视频| www.射射射| 免费av手机在线观看| 成年人看的毛片| 成年人午夜免费视频| 男人天堂手机在线视频| 国产xxxx振车| 日韩欧美国产综合在线| 日韩国产欧美亚洲| 亚洲乱码国产一区三区| 杨幂毛片午夜性生毛片| 奇米影音第四色| 天天干天天色天天干| 97人人模人人爽人人澡| 特大黑人娇小亚洲女mp4| www.欧美黄色| 日韩精品一区二区三区久久| 日韩手机在线观看视频| 怡红院亚洲色图| 成人在线免费高清视频| 亚洲 自拍 另类小说综合图区| 欧美日韩一道本| 天天干天天草天天| 天天干天天色天天爽| 欧美日本视频在线观看| 日韩av手机版| 激情六月天婷婷| 已婚少妇美妙人妻系列| 日本一本在线视频| 国产视频九色蝌蚪| 国产在线视频三区| 9久久9毛片又大又硬又粗| 欧美三级理论片| 日韩在线视频在线| 日韩不卡一二三| 亚洲熟妇无码av在线播放| 国产自偷自偷免费一区| 国产 欧美 日本| 欧美成人三级在线播放| 久艹在线免费观看| 爱爱爱爱免费视频| 亚欧无线一线二线三线区别| xxx国产在线观看| 日韩av片在线看| 国产奶头好大揉着好爽视频| 国产精品-区区久久久狼| a级网站在线观看| 亚洲欧美国产日韩综合| ww国产内射精品后入国产| 亚洲色图欧美自拍| 天天爱天天操天天干| 日日摸日日碰夜夜爽无码| 超碰成人在线免费观看| 亚洲 欧美 另类人妖| 免费在线观看毛片网站| 成年人网站免费视频| 免费看日b视频| 91精品视频国产| www.51色.com| 色91精品久久久久久久久| 国内自拍视频一区| 日日碰狠狠躁久久躁婷婷|