服務器大內存SQL Server數據庫的加速劑
但是,現在企業(yè)中普遍采用的數據庫服務器都是32位的操作系統(tǒng)。而這個32位的操作系統(tǒng)卻有最大內存的使用限制。通常情況下,標準的32位地址最多可以采 用4GB的內存。若數據庫管理員想讓數據庫系統(tǒng)采用更多的內存來提高數據庫的性能,則就需要進行額外的配置。下面筆者就介紹兩種常用的配置方式,讓 SQL Server數據庫服務器支持大內存,讓其成為數據庫的加速劑。
一、讓數據庫應用程序支持3GB的內存空間。
雖然操作系統(tǒng)支持4GB內存。可是,這并不會全部給數據庫等應用程序使用。默認情況下,在32位操作系統(tǒng)中,將有2GB的內存空間是為操作系統(tǒng)所保留的。 即使沒有用完,其他應用程序也是不能夠染指的。而包含SQL Server數據庫在內的所有應用程序,只能過采用剩余的2GB內存空間。
但是,在實際應用中,服務器的操作系統(tǒng)往往用不著多大2G的內存。根據筆者的經驗,一般只要為操作系統(tǒng)保留1G的內存已經足夠其使用。只要沒有病毒等不良因素作怪,這個內存不會被完全適用。如此的話,應用程序可以采用的內存空間就會多達3G,比原先整整多出一個G來。
要實現這個轉變,其實很簡單。在Windows操作系統(tǒng)中,有一個BOOT啟動配置文件。為了讓數據庫服務器支持3GB的用戶模式進程空間,必須在這個配 置文件中,加入一個/3gb的參數,然后重新啟動操作系統(tǒng)即可。這么設置之后,應用程序就可以尋址3GB的進程地址空間 ,而為操作系統(tǒng)保留1GB的內存空間。
有時候,這個小小的配置可以在很大程度上提高數據庫的性能。記得有一次,筆者為一家企業(yè)優(yōu)化數據庫性能。筆者查看了用戶的數據庫環(huán)境之后,就建議用戶增大 數據庫服務器的內存,從2G增加到4G。可是,效果并沒有很大的改善。正當筆者束手無措的時候,就想到了改變操作系統(tǒng)與應用程序的內存分配方式。為此,筆 者就更改了BOOT啟動配置文件,只給操作系統(tǒng)保留1G的內存空間。重新啟動后,數據庫性能得到了很大的改善。
二、為SQLServer啟用更高的內存支持。
如果數據庫應用程序內存尋址空間達到3GB后,數據庫管理員還不滿足的話,則就需要通過增加物理內存的方式,來提高應用程序的性能。若需要服務器操作系統(tǒng) 突破其默認4GB內存空間的限制,支持4GB以上的內存空間,也不是不可能的。只是需要進行額外的配置,并且,其維護的工作量也比較大。
若想要SQL Server數據庫支持4GB以上的內存尋址空間,則往往需要進行如下配置。
第一步:鎖定內存頁。
默認情況下,內存大小與操作系統(tǒng)的虛擬內存之間有一個正比例關系。在這里,數據庫管理員只想增大服務器的物理內存,而不想對虛擬內存有什么影響。故需要鎖 定內存頁。鎖定內存頁的主要作用就是確定哪些帳戶可以使用進程將數據保留在物理內存中,從而阻止系統(tǒng)將數據分頁到磁盤的虛擬內存中。默認情況下,這個選項 的只為OFF。也就是說,在必要的時候,系統(tǒng)會將數據分頁到硬盤的虛擬空間中。為了最大程度發(fā)揮內存的效用,就需要把這個選項開啟。不過這數據庫管理員往 往需要尋求系統(tǒng)管理員的幫助,因為只有具有系統(tǒng)管理員權限的用戶,才能夠給更改這個選項。
第二步:啟用Awe Enable選項。
默認情況下,即使服務器操作系統(tǒng)支持4GB以上的內存空間,可是數據庫應用程序并不一定支持。為了讓SQL Server應用程序也支持這個,就必須更改數 據庫的配置參數。也就是說,需要將這個選項的值設置為1,然后重新啟動數據庫系統(tǒng)。這個配置比較簡單,只需要利用命令sp_configure 'awe enabled', 1即可。不過在進行這個配置之前,需要注意兩個細節(jié)方面的內容。一是數據庫用戶需要這個操作的權限。二是這里有一個BUG,即在SQL Server數據庫中會有一個錯誤信息。數據庫管理員可以忽略這個信息。
關鍵字:服務器、SQL Server、數據庫
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統(tǒng)后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認iptable規(guī)則詳解