Linux Hugepage ,AMM及 USE_LARGE_PAGES - 4

tolywang發表於2014-05-27

5.  如何控制資料庫SGA是否使用Hugepages?
 
  11.2.0.2之前的版本,DB的SGA只能選擇全部使用hugepages或者完全不使用hugepages。
 
  11.2.0.2 及以後的版本, oracle增加了一個新的引數“USE_LARGE_PAGES”來管理資料庫如何使用 hugepages.

  在11.2.0.3的時候,USE_LARGE_PAGES這個引數讓Oracle的行為更加靈活。如果出現HugePage分配不足的情況,
SGA是可以使用那些small pages的。這就保證了極端情況下資料庫是可以正常執行的。
 
USE_LARGE_PAGES引數有三個值: "true" (default), "only", "false" and "auto"(since 11.2.0.3 patchset).
 
a). 現在預設值是"true",如果系統設定Hugepages的話,SGA會優先使用hugepages,有多少用多少。
11.2.0.2 如果沒有足夠的 hugepages, SGA是不會使用hugepages的. 這會導致ORA-4030錯誤,因為hugepages已
經從實體記憶體分配,但是SGA沒有使用它,卻使用其他部分記憶體,導致記憶體資源不足。  但是在11.2.0.3版本這個
使用策略被改變了,SGA可以一部分使用hugepages,剩餘部分使用small pages。這樣,SGA會有限使用hugepages,
在hugepages用完之後,再使用regular sized pages。
 
b). 如果設定為"false" , SGA就不會使用hugepages
 
c). 如果設定為 "only" 如果hugepages大小不夠的話,資料庫例項是無法啟動的 (防止記憶體溢位的情況發生).
 
d). 11.2.0.3版本之後,可以設定為 "auto".這個選項會觸發oradism程式重新配置linux核心,以增加hugepages
的數量。


參考 :
http://hsbxxl.blog.51cto.com/181620/1075166
http://blog.csdn.net/herecles/article/details/16861743

http://blog.itpub.net/17203031/viewspace-775004

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-1171327/,如需轉載,請註明出處,否則將追究法律責任。

相關文章