㈠ sql server awe怎麼設置
由於32位Windows用戶進程有4GB的虛擬地址空間。其中2GB給核心態,剩下2GB給用戶態。這兩部分嚴格分開。Windows不會因為其中某一塊
內存地址空間用盡而將另外一塊的空間讓出。
由於SQLSERVER的絕大部分指令都運行在用戶態下,就是說SQLSERVER的內存基本上使用用戶態地址空間資源。現在的情況是2GB地址空間資源
對於SQLSERVER來說嚴重阻礙了SQLSERVER有效利用硬體資源
所以SQLSERVER引入了AWE address windowsing extensions(地址空間擴展)。這是允許32位應用程序分配64GB物理內存,並把視圖或窗口
映射到2GB虛擬地址空間的機制。
使用AWE,使得一個應用程序能夠訪問最多達64GB的物理內存!!!
在SQL2000的企業版,SQL2005/2008的企業版和標准版都支持這個技術,也能夠享受這個技術帶來的好處
開啟這個功能的語句,執行完之後,重啟SQLSERVER服務即可
1 EXEC sys.sp_configure @configname = 'AWE Enabled', -- varchar(35)
2 @configvalue = 1 -- int
3 RECONFIGURE
4 GO
AWE具體實現圖
有幾點需要注意的:
(1)開啟這個功能需要SQLSERVER啟動帳戶在Windows上的lock pages in memory許可權。沒有這個許可權,AWE就不能成功被開啟。
啟動的SQLSERVER這時候只能使用2GB的地址空間。
所以DBA要確認一下SQLSERVER的errorlog里有沒有相關的信息
成功開啟:server Address Windowing Extensions enabled
消息
Address Windowing Extensions is enabled. This is an informational message only; no user action is required.
開啟失敗:Cannot use Address Windowing Extensions because lock memory privilege was not granted
(2)這個功能是在應用層面有意識地使用,而不是在Windows層面實施的。也就是說SQLSERVER在申請內存時,通過特殊API調用申請到的,
如果SQLSERVER不調用這個功能,就還會在普通的2GB虛擬地址空間申請內存。在SQLSERVER中不是所有的內存申請都會調用AWE技術,
只有先reserve,再commit的內存調用,SQLSERVER才使用AWE讓他們使用到擴展的內存。其他方式申請的內存只能使用普通的2GB地址空間。
正因為這樣,AWE不能稱為解決SQLSERVER地址空間不足的最終解決方案。使用64位的伺服器,虛擬地址空間可以達到8TB,
大於現在絕大多數的單個伺服器的物理內存數。在64位下運行的SQLSERVER,其性能往往比在32位上有比較明顯的提高。
最後附上各個版本Windows上支持的最大內存數
配置 應用虛擬地址空間大小 最大物理內存數 是否支持AWE/locked pages support
32位SQLSERVER 2GB 64GB YES
32位SQLSERVER + /3GB boot.ini參數 3GB 16GB YES
32位SQLSERVER 應用在x64位操作系統(WOW) 4GB 64GB YES
32位SQLSERVER 應用在IA64操作系統(WOW) 2GB 2GB NO
64位SQLSERVER 應用在x64操作系統 8TB 2TB YES
64位SQLSERVER 應用在IA64操作系統 7TB 2TB YES
㈡ sql server2008r2 安裝需要多大
機子上除了SQLSERVER2008R2沒有跑其他的東西 最大內存設置的是2147483647MB 最小內存0MB 沒有勾選Use AWE to allocate memory 現在使用了23.8G
㈢ sqlserver2008r2x64最大內存限制是否需要設定設置多少為宜
機子上除了SQLSERVER2008R2沒有跑其他的東西最大內存設置的是2147483647MB最小內存0MB沒有勾選UseAWEtoallocatememory現在使用了23.8G
㈣ sql server 2008 r2 啟用awe後 內存的管理
會自動釋放的。內存緩存一些查詢,tempdb,存儲等。不是把所有數據放到內存裡面。你才10G,那100G,1T的怎麼辦。這涉及SQL內存管理方面。我也是粗淺的了解了一點。
㈤ sql server2008佔用進程內存太大,超過正常使用內存,什麼 原因
SQL Server的內存一直上不去。從Task Schele中看到SQL Server只使用了88MB內存,實際這台機器有12GB的內存,可用內存有超過8GB。 當時我以為是開啟了AWE導致的,所以連接到他的伺服器看了一下。但是資料庫為2005企業版64位,所以不用開啟AWE。而且即使開啟了,也會被忽略。 使用下面的腳本查詢了一下SQL Server內存使用: select physical_memory_in_use_kb,locked_page_allocations_kb,*fromsys.dm_os_process_memory 看到實際使用的內存有2GB,遠遠超出任務管理器看到的。(也可以通過Perfmon的Total server memory(MB)查看)。 當時覺得很奇怪,查看了SQL Server錯誤日誌發現了類似下面的信息: 2009-06-0412:21:08.16 Server Large Page Extensions enabled. 2009-06-04 12:21:08.16 Server Large Page Granularity: 2097152 2009-06-04 12:21:08.21 Server Large Page Allocated: 32MB 猜測這台期間開啟了Lock Pages In memory功能,之後得到確認。因為開啟Lock Pages In memory之後,SQL Server會使用AWE APIs鎖定內存頁,所以這部分的內存使用不會顯示在Working Set中。 So in summary the AWE APIs for 32bit and 64bit SQL Server systems are used for different purposes. In 32bit it is really to extend memory access beyond 4Gb or to enable the AWE feature. For 64bit systems, it is to possibly gain performance and to “lock pages” for the buffer pool. 到現在這個問題就比較明朗了,其實SQL Server還是正常工作的。一般查詢SQL Server的使用還是建議使用DMV或者Perfmon,直接查看Working Set信息可能不準。 另外說一下,當時看到上面Large Page的信息,以為是資料庫開啟了LargePage,但是使用DBCC TRACSTATUS查看沒有開啟834 Trace Flag,所以大數據功能是沒有啟用的。只有開啟834 Trace Flag資料庫才會真正啟用Large Page。 啟用Large page在資料庫錯誤日誌會看到類似信息: 2009-06-0414:20:40.03 Server Using large pages for buffer pool. 關於Lock Pages In memory/working set機制我找到了兩篇文章,大家有興趣可以參考: Funwith Locked Pages, AWE, Task Manager, and the Working Set WhySQL Server is using so LESS memory
㈥ sql2008資料庫內存一直增加
有沒有設置SQL Server最大使用的內存量?如果不設置,SQL Server通常有多少用多少。
依次運行如下命令,將最大內存設置為20G,當然可以根據你實際上的內存來做調整
另外這里限制的內存只是SQL Server緩沖池的大小,SQL Server其它功能也是要佔用內存的。還有64bit的是不需要開啟AWE的。
EXEC sp_configure 'show advanced options',1
RECONFIGURE
EXEC sp_configure 'max server memory (MB)',20480
RECONFIGURE
㈦ 如何配置 awe enabled 選項 (SQL Server Management Studio)求解答
請不要在新的開發工作中使用該功能,並盡快修改當前還在使用該功能的應用程序。
在 SQL Server 中,利用地址窗口化擴展插件 (AWE),可以使可訪問的物理內存量超出對配置的虛擬內存設置的限制。
如果已啟用此選項,當 SQL Server 實例啟動時,SQL Server 錯誤日誌中將寫入消息「Address Windowing Extensions enabled」。
使用 AWE 前,必須首先配置 Microsoft Windows「鎖定內存頁」策略。有關詳細信息,請參閱
若要使 32 位操作系統支持 4 GB 以上的物理內存,則必須向 boot.ini 文件添加/pae參數並重新啟動計算機。
㈧ sql如何開啟awe
為 SQL Server 啟用 AWE 內存
SQL Server 2008 R2 其他版本 SQL Server 2008 SQL Server 2005
2(共 3)對本文的評價是有幫助 - 評價此主題
下一版本的 Microsoft SQL Server 將刪除該功能。請不要在新的開發工作中使用該功能,並盡快修改當前還在使用該功能的應用程序。
地址窗口化擴展插件 (AWE) 可以使 32 位操作系統訪問大量內存。AWE 由操作系統公開,並且在 Microsoft Windows 2000 Server 和 Windows Server 2003 中的實現方式稍有不同。AWE 是使用 awe enabled 選項啟用的。
㈨ sql server 2008 怎樣設置內存
在安裝有SQLServer資料庫的計算機上,我們在使用資料庫的過程中,有時候會在任務管理器里發現sqlservr.exe這個進程的內存和CPU佔用率較高。
接下來我們來看一下,如何解決上面這個問題,需要設置SQLServer資料庫的內存配置。登錄資料庫,這里使用的是SQLServer2008,右鍵點擊最上方的伺服器名,在彈出的菜單中,點擊【屬性】
打開伺服器屬性窗口。默認顯示的是第一項【常規】內容,點擊第二項【內存】進行內存配置。
點擊【內存】後,打開伺服器內存選項配置界面。這里的【使用AWE分配內存】可以對內存進行擴展支持,我們要做的是更改下方的最大伺服器內存。這個數值根據自己伺服器內存大小來做適當設置。
個人建議設置本機內存的一半或稍微高一點,如機器內存為2G,那麼我們這里填寫1000。需要注意的是內存設置調小以後,在資料庫執行較復雜SQL語句的時候,可能會比較慢,出現這種情況,我們再適當上調最大內存配置大小。
㈩ sql server 2008 判斷是否啟動awe
你好
SQL Server 2008 的Standard版本所支持的最大內存是操作系統最大值
一般預留2G給操作系統 如果沒有其他服務剩下的內存都可以給sql server。