Buffer Pool--内存总结1
物理地址空間是處理器用來訪問位于總線上的所有部件的集合。
在32位處理器上,地址總線為32位,尋址空間為4GB。
在使用PAE的32位服務器上,地址總線為36位,尋址空間為64GB。
在64位的處理器上生產商將地址總線限制為44位,尋址空間為2TB。
在32位系統上,系統中運行的每個進程有共計4GB的虛擬地址空間(VAS),用來存放應用程序所使用的程序代碼和數據。4GB的VAS由內核模式和用戶模式共享,用戶模式地址空間和內核模式地址空間各占2GB,如果激活/3GB或者/USERUA選項后,用戶模式地址空間占3GB。
在X64系統上,系統為進程分配8TB的VAS
在IA64系統上,系統為進程分配7TB的VAS
不同的操作系統版本,所支持的最大物理內存不一樣。
虛擬地址空間只是虛擬內存,不是物理內存,而且它只是空間,不是實際內存。
虛擬內存管理器(Virtual Memory Manager VMM)負責所有的物理內存,將物理內存在所有需要內存的進程間共享,當進程請求內存或者需要加載數據是,OS接受請求,將進程中一塊虛擬內存空間和實際物理內存相互關聯起來。
虛擬內存管理器可以將內存中數據取走并存放到頁面文件中,直到進程試圖訪問該段數據時重新將數據從頁面中加載到物理內存中并完成虛擬內存和物理內存之間的映射。
如果進程再次使用數據而數據需要從頁面文件中重新載入,該操作被稱為Hard page Fault(硬頁面錯誤)
當物理內存缺乏而多個進程爭用有限內存時,會導致數據頻繁地從物理內存中換入和換出,從而導致系統響應速度變慢,性能下降。
通過修改Boot.ini文件來打開/3GB選項或/UserVA選項。
/UserVA選項是Windows Server 2003中新增加的。
當/3GB選項被打開時,操作系統會受限于最多使用16GB的物理內存,故如果服務器擁有16GB或更多內存時,不要使用3GB選項
PAE--physical Address Extensions
PAE是Intel引入一種突破32位地址總線的方式,將地址總線物理擴展到36位,從而允許32位操作系統最多使用64GB內存。
在Datacentrt版本的OS中,如果硬件允許熱內存交換,即使不在Boot.ini文件中激活PAE,仍然會運行PAE內核
在擁有多于4GB的服務器上,則激活PAE選項。
AWE--Address Windowing Extensions
AWE是一位Windows API,允許32位進程映射其虛擬地址空間以外的內存,使得進程可以使用物理內存來存儲數據,但是在使用數據時,必須將它映射到進程中的VAS中。AWE的思想類似于Windows中的頁面文件,由于AWE中的數據存放在內存中,內存到內存的數據傳遞更快。
Enable AWE option for SQL SERVER
1.Use sp_configure to set the value as 1 for the option 'awe enabled'
2.Grant the right of 'Lock Page in Memory' to the service account.
To enable AWE
exec sp_configure 'show advanced options', 1?
RECONFIGURE?
exec sp_configure 'awe enabled', 1?
RECONFIGURE
To enable the lock pages in memory option
1.On the Start menu, click Run. In the Open box, type gpedit.msc. The Group Policy dialog box opens.
2.On the Group Policy console, expand Computer Configuration, and then expand Windows Settings.
3.Expand Security Settings, and then expand Local Policies.
4.Select the User Rights Assignment folder.
The policies will be displayed in the details pane.
5.In the pane, double-click Lock pages in memory.
6.In the Local Security Policy Setting dialog box, click Add.
7.In the Select Users or Groups dialog box, add an account with privileges to run sqlservr.exe.
User could not set AWE option on 64-Bit SQL Server, but if the service account have the right of 'Lock Pages in Memory', SQL Server will use AWE to access buffer pool memory automaticlly.
即使在64位系統上,SQL SERVER依然可以通過AWE來提升性能。
?
總結
以上是生活随笔為你收集整理的Buffer Pool--内存总结1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jenkins实战演练之Linux服务器
- 下一篇: emacs org-mode文件转htm