解決SQL Server中虛擬內(nèi)存不足的問題 |
發(fā)布時(shí)間: 2012/7/28 17:09:39 |
我們大家都知道在具有2GB 或是更多RAM的計(jì)算機(jī)上,除了256 MB (SQL Server 7.0) 或 384 MB (SQL Server 2000) 虛擬地址空間之外,SQL Server在啟動(dòng)過程中保留剩下的所有虛擬地址空間以供緩沖池使用。 另外,為了存儲(chǔ)數(shù)據(jù)和過程緩存,SQL Server使用緩沖池內(nèi)存為來自 SQL Server 進(jìn)程的大多數(shù)小于8 KB的其他內(nèi)存請(qǐng)求提供服務(wù)。剩下的未保留內(nèi)存準(zhǔn)備用于不能從緩沖池得到服務(wù)的其他分配。這些分配包括、但不限于以下各項(xiàng):SQL Server創(chuàng)建的所有線程的堆棧和關(guān)聯(lián)的線程環(huán)境塊。在SQL Server創(chuàng)建了所有 255 個(gè)工作線程之后,這大約為140MB。
由在 SQL Server地址空間(根據(jù)具體系統(tǒng)而有所不同)中運(yùn)行的其他DLL或進(jìn)程進(jìn)行的分配,如: 任何鏈接的服務(wù)器(服務(wù)器租用找億恩柯南:QQ 965171276)中的 OLE DB 提供程序。
通過使用 sp_OA 系統(tǒng)存儲(chǔ)過程或擴(kuò)展存儲(chǔ)過程加載的COM對(duì)象。
加載到地址空間中的任何映像(.exe 或 .dll),這些映像通常使用 20 到 25 MB,但是如果您使用鏈接的服務(wù)器(服務(wù)器租用找億恩柯南:QQ 965171276)、sp_OA 或擴(kuò)展存儲(chǔ)過程,則這些映像可能使用更多的空間。
進(jìn)程堆和 SQL Server 可能創(chuàng)建的任何其他堆。在啟動(dòng)過程中,此空間通常為10 MB,但是如果您使用鏈接的服務(wù)器(服務(wù)器租用找億恩柯南:QQ 965171276)、sp_OA 或擴(kuò)展存儲(chǔ)過程,則此空間可能更多。
來自SQL Server進(jìn)程的大于8 KB的分配,例如較大查詢計(jì)劃、網(wǎng)絡(luò)數(shù)據(jù)包大小配置選項(xiàng)接近于 8 KB 時(shí)發(fā)送和接收緩沖區(qū)等情況所需要的分配。要查看此數(shù)字,請(qǐng)查找在 DBCC MEMORYSTATUS 中報(bào)告的 OS Reserved 值,該值是作為 8 KB 頁的數(shù)目報(bào)告的。通常,該值為 5 MB。
跟蹤緩沖池中每個(gè)緩沖區(qū)狀態(tài)信息的數(shù)組。該值通常約為20 MB,除非SQL Server 運(yùn)行時(shí)啟用了地址窗口化擴(kuò)展插件(AWE),在這種情況下,該值將會(huì)顯著提高。
在擁有大量數(shù)據(jù)庫的系統(tǒng)上,日志格式化所需的 64 KB 分配可能會(huì)占用所有剩余的SQL Server虛擬內(nèi)存。這之后的分配將失敗,導(dǎo)致本文的“癥狀”一節(jié)中列出的一個(gè)或多個(gè)錯(cuò)誤。
通過使用 -g 啟動(dòng)參數(shù),您可以指示 SQL Server 保留附加的SQL Server虛擬內(nèi)存可用,以便這些與日志相關(guān)的分配和其他正常分配加在一起也不會(huì)用完虛擬地址空間。
下表根據(jù)數(shù)據(jù)庫的數(shù)目和服務(wù)器(服務(wù)器租用找億恩柯南:QQ 965171276)版本列出-g值的一些建議初始值: DatabasesSQL Server 7.0 SQL Server 2000:
250-g134N/A 500-g185N/A 750-g237N/A 1000-g288-g288 1250-g340-g340 1500-g392-g392
此表是使用列出的典型值進(jìn)行計(jì)算的,并且此計(jì)算是基于沒有使用鏈接的服務(wù)器(服務(wù)器租用找億恩柯南:QQ 965171276)活動(dòng)、sp_OA 或擴(kuò)展存儲(chǔ)過程這一假設(shè)的。它還假設(shè)您沒有使用 AWE 和 SQL 事件探查器。出現(xiàn)以上任意一種情況都需要您增加 -g 的值。
如果服務(wù)器(服務(wù)器租用找億恩柯南:QQ 965171276)上數(shù)據(jù)庫的數(shù)目超過此數(shù)目,Microsoft 建議您在運(yùn)行該服務(wù)器(服務(wù)器租用找億恩柯南:QQ 965171276)之前進(jìn)行慎重的考慮,因?yàn)橄到y(tǒng)上具有如此數(shù)目的數(shù)據(jù)庫所需的系統(tǒng)開銷將占用緩沖池中的大量SQL Server虛擬內(nèi)存,從而可能導(dǎo)致系統(tǒng)整體性能下降。 本文出自:億恩科技【www.riomediacenter.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |