Oracle 標準大頁和透明大頁
說明:
標準大頁(HugePages)
標準大頁(HugePages)是從 Linux Kernel 2.6 後被引入的。
目的是用更大的記憶體頁面(memory page size)以適應越來越大的系統記憶體,讓作業系統可以支援現代硬體架構的大頁面容量功能。
透明大頁(Transparent HugePages)
透明大頁(Transparent Huge Pages)縮寫為THP,透明超大頁面(THP)在RHEL 6中預設情況下對所有應用程式都是啟用的。
核心試圖儘可能分配巨大的頁面,主核心地址空間本身被對映為巨大的頁面,減少了核心程式碼的TLB壓力。
核心將始終嘗試使用大頁來滿足記憶體分配。
如果沒有可用的巨大頁面(例如由於物理連續記憶體不可用),核心將回退到正常的4KB頁面。
THP也是可交換的(不像hugetlbfs)。
這是透過將大頁面分成更小的4KB頁面來實現的,然後這些頁面被正常地換出。
透明大頁存在的問題:
Oracle Linux team在測試的過程中發現,如果linux開啟透明大頁THP,則I/O讀寫效能降低30%;
如果關閉透明大頁THP,I/O讀寫效能則恢復正常。
另,建議在Oracle Database中不要使用THP。
ORACLE官方不建議在使用RedHat 6, OEL 6, SLES 11 and UEK2 kernels 時開啟透明大頁(THP),因為透明大頁存在一些問題:
1. 在RAC環境下,透明大頁(THP)會導致異常節點重啟和效能問題;
2. 在單機環境中,透明大頁(THP)也會導致一些異常的效能問題;
標準大頁和透明大頁區別:
兩者區別在於大頁的分配機制,標準大頁管理是預分配 方式,而透明大頁管理則是動態分配 方式。
目前透明大頁與傳統大頁混合使用會出現一些問題,導致效能問題和系統重啟。
如何開啟標準大頁(HugePages)
適用於:
1.Kernel Version 2.6及更高。
2.Oracle AMM記憶體管理和HugePages不相容,確保在AMM關閉的情況下啟動HugePages。
啟用HugePages方法:
1 執行以下命令以確定核心是否支援HugePages
$ grep Huge /proc/meminfo
2 配置memlock
在/etc/security/limits.conf檔案中設定memlock值,memlock設定以KB為單位。
當啟用HugePages記憶體時,最大鎖定記憶體限制應至少設定為當前伺服器記憶體的90%。
禁用HugePages記憶體時,最大鎖定記憶體限制應設定為至少3145728 KB(3 GB)。
例如,如果安裝了64 GB RAM,則新增以下條目以增加最大鎖定記憶體地址空間:
* soft memlock 60397977
* hard memlock 60397977
也可以將memlock值設定為高於SGA要求的值。
再次以oracle使用者身份登入並執行ulimit-l命令以驗證新的memlock設定:
su - oracle
$ ulimit -l
3 啟動例項
檢查例項是啟動狀態
srvctl status instance -d dbname
如果沒啟動,手動啟動例項
srvctl start instance -d dbname -i instance_name -o open
4 使用指令碼為當前共享記憶體段計算hugepages配置的建議值:
root使用者下執行
chmod +x hugepages_settings.sh
./hugepages_settings.sh
指令碼來自My Oracle Support note 401749.1,指令碼詳細內容見末尾。
5 停止資料庫例項
srvctl stop instance -d dbname -i instance_name -o immediate
6 設定vm.nr_hugepages核心引數
寫入配置檔案,永久生效
vi /etc/sysctl.conf
vm.nr_hugepages=<value from above>
sysctl -p
# sysctl -w vm.nr_hugepages=<value from above> 臨時改變,重啟失效
7 啟動例項
srvctl start instance -d dbname -i instance_name -o open
8 檢查可用的hugepages
$ grep Huge /proc/meminfo
如果配置沒生效,需要重啟伺服器
[root@rac1 ~]# grep Huge /proc/meminfo
AnonHugePages: 0 kB
HugePages_Total: 179
HugePages_Free: 9
HugePages_Rsvd: 7
HugePages_Surp: 0
Hugepagesize: 2048 kB
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014851/viewspace-2867428/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle之 關閉透明大頁Oracle
- 網頁設計的步驟和標準網頁
- oracle大頁Oracle
- 【TUNE_ORACLE】Oracle資料庫與HugePages(四)如何禁用透明大頁Oracle資料庫
- Linux標準大頁設定不合理案例Linux
- Red Hat Enterprise Linux 6 7關閉透明大頁面及透明大頁面基礎概念Linux
- html標準分辯率頁面測試HTML
- 【大頁記憶體】Oracle資料庫配置大頁記憶體記憶體Oracle資料庫
- 火狐瀏覽器(69版)修改起始頁,主頁和新標籤頁瀏覽器
- oracle 大頁配置詳細介紹Oracle
- AIX上為ORACLE配置大頁面AIOracle
- Salesforce LWC學習(四十七) 標準頁面更新以後自定義頁面如何捕捉?Salesforce
- PostgreSQL Page頁結構解析(2)- 頁頭和行資料指標SQL指標
- PostgreSQL 資料頁Page解析(2)- 頁頭和行資料指標SQL指標
- PbootCMS呼叫搜尋頁和標籤頁的關鍵詞及數量boot
- pbootcms呼叫搜尋頁keyword值數量和標籤頁tag值和數量boot
- 標準模式與怪異模式對於渲染頁面的影響模式
- 使用MASA Blazor開發一個標準的查詢表格頁Blazor
- Python 自用程式碼(某方標準類網頁原始碼清洗)Python網頁原始碼
- oracle分頁Oracle
- bootstrap 頁面標題boot
- 頁邊距和頁首頁尾的設定
- mysql大頁配置MySql
- html網頁內容如何實現上標和下標效果HTML網頁
- MySql/Oracle和SQL Server的分頁查MySqlOracleServer
- 第 15 章 標籤頁和工具提示外掛
- oracle標準審計Oracle
- Apache APISIX透過頁面配置路由ApacheAPI路由
- javascript頁面元素座標JavaScript
- 大資料翻頁的難點和技巧大資料
- Linux的標準輸入、標準輸出和標準錯誤Linux
- Oracle企業版和標準版的區別Oracle
- oracle標準版和企業版的區別!Oracle
- 第 9 章 路徑分頁標籤和徽章元件元件
- 透過介面標準化ABAP OO開發
- 主頁和四個詳情頁成功
- 【安全】oracle 標準審計Oracle
- 如何建立HTML Mashup並插入到SAP Cloud for Customer標準頁面裡HTMLCloud