AIX上為ORACLE配置大頁面

westzq1984發表於2009-04-24
  • 當使用大頁面來對映虛擬記憶體時,translation look aside buffer(翻譯後備緩衝器)能夠比一個規定數目的實體對映更多的虛擬記憶體,從而使應用有一個很低的TLB丟失率
  • 使用大頁面將有一個更低的頁範圍,以增強預取佇列的效能
  • OLTP和DSS系統都能從大頁面中獲益
  • 有3種記憶體能使用大頁面:SGA,程式資料(.data)和命令文字(.text)。在很多ORACLE應用中,SGA控制著虛擬記憶體的使用,因此,對SGA使用大頁面能獲得更多的益處。對於程式資料(.data)和命令文字(.text)使用大頁面也能提供額外的效能收益,但是,應用分配的大頁面的粒度很大,每個程式將分配大量的記憶體。
  • 推薦是對於SGA使用大頁面,而對程式資料(.data)和命令文字(.text)不使用大頁面
  • 當使用lock_sga為TRUE時,ORACEL在分配SGA時,將分配大頁面。AIX系統分配共享記憶體時,使用大頁面,必須有CAP_BYPASS_RAC_VMM 和 CAP_PROPAGATE的能力。而且,AIX大頁面也必須被配置。當為RAC使用大頁面時,使用root使用者用srvctl啟動資料庫時,也需要這兩個能力
  • 大頁面總是被PIN在記憶體的,大頁面不能被使用為標準記憶體,如果大頁面池被配置,這個在其他應用不使用大頁面時,記憶體將不能分配為標準記憶體

SGA:
1. First check the current capabilities:
    #lsuser –a capabilities oracle
  Note: only the root user can display the capabilities attribute.
2. Add the CAP_BYPASS_RAC_VMM and CAP_PROPAGATE capabilities to the list of capabilities already assigned to this user ID, if any:
  #chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGAE oracle
3. Configure the AIX large page pool by calculating the number of large pages required for the SGA:
  num_of_large_pages = INT((total_SGA_size-1)/16MB)+1
4. Configure the number and size of large pages:
  #vmo -p -o lgpg_regions=num_of_large_pages -o lgpg_size=16777216
5. reboot

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

相關文章