如何在redhat5為oracle啟用及配置hugepage大頁記憶體
http://www.itpub.net/thread-1476073-1-1.html
測試筆記如下:
1,[root@rhel5 ~]# more /proc/meminfo|grep Huge
HugePages_Total: 300 --大頁記憶體頁數
HugePages_Free: 300 --大頁記憶體空閒頁數
HugePages_Rsvd: 0
Hugepagesize: 2048 kB --大頁記憶體大小,配置為2mb
2,如上述引數HugePages_Total未啟用,執行如下指令碼
echo 'vm.nr_hugepages=300'>>/etc/sysctl.conf
注:vm.nr_hugepages計算公式為:
nr_hugepages>=sga(mb)/Hugepagesize(mb)=600/2=300
[root@rhel5 ~]# more /etc/sysctl.conf|grep vm
vm.nr_hugepages=300
--令配置檔案生效
sysctl -p
3,配置memlock相關檔案鎖
more /etc/security/limits.conf |grep oracle
oracle soft memlock 614400
oracle hard memlock 614400
上述計算公式為:
HugePages_Total×1024,這裡設定了2倍的值,即:2×50×1024=102400
=2*300*1024=614400
4,切換到oracle檢視上述配置是否生效
su - oracle
ulimit -l --結果為614400
5,啟動oracle
startup
6,檢視如下Hugepages_Free是否變化,對比是否使用了大頁
[root@rhel5 ~]# more /proc/meminfo|grep Huge
HugePages_Total: 300 --大頁記憶體頁數
HugePages_Free: 300 --大頁記憶體空閒頁數
HugePages_Rsvd: 0
Hugepagesize: 2048 kB --大頁記憶體大小,配置為2mb
-----------------------------------------------------
1,大記憶體頁作用
a,減少頁表條目記錄時,提升效能
b,預設頁數為4k,如果實體記憶體很大,形成的pagetables頁表條目相當大;
而這些條目資訊儲存在cpu一個對映表中,肯定會導致佔用cpu時間過高,從而影響效能
所以啟用大頁後,條目減少進而提升效能
c,這些對映表儲存實體記憶體地址和虛擬記憶體地址轉換關係;因為最終要透過實體記憶體訪問
d,大頁記憶體使用的記憶體會一直keep,所以一定要合理配置,不致於浪費記憶體
------------------------------------------------
為了讓oracle11g or oracle10g使用hugapage,執行如下
在啟用了Hugepage的情況下,32位的ORACLE可以把SGA擴充套件到62G。
[ORACLE 11G]
必須關閉AMM(自動記憶體管理)特性才能使用hugepage
設定如下初始化引數:
ALTER SYSTEM SET sga_max_size=6720M SCOPE=SPFILE;
ALTER SYSTEM SET sga_target=0 SCOPE=SPFILE;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET=2048 SCOPE=SPFILE;
ALTER SYSTEM SET memory_target=0 SCOPE=SPFILE;--關閉maa功能
ALTER SYSTEM SET memory_max_target=0 SCOPE=SPFILE;
其他配置同10G
[ORACLE10G]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-760759/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle在Linux下對記憶體大頁HugePage的實踐OracleLinux記憶體
- 【大頁記憶體】Oracle資料庫配置大頁記憶體記憶體Oracle資料庫
- Linux 中的“大記憶體頁”(hugepage)是個什麼?Linux記憶體
- 探索MYSQL開啟大頁記憶體MySql記憶體
- 作業系統HugePage配置導致記憶體驟降探究作業系統記憶體
- openGauss-大頁記憶體記憶體
- [20210803]對比transparent hugepage的記憶體消耗.txt記憶體
- HBase記憶體配置及JVM優化記憶體JVM優化
- Java應用程式中的記憶體洩漏及記憶體管理Java記憶體
- oracle RDBMS Kernel Executable 佔用記憶體過高Oracle記憶體
- 【記憶體管理】Oracle AMM自動記憶體管理詳解記憶體Oracle
- oracle 大頁配置詳細介紹Oracle
- 強如 Disruptor 也發生記憶體溢位?記憶體溢位
- [20191115]oracle例項佔用記憶體計算.txtOracle記憶體
- Tomcat修改記憶體配置Tomcat記憶體
- MySQL InnoDB記憶體配置MySql記憶體
- Windows記憶體管理-分頁Windows記憶體
- 【記憶體管理】Oracle如何使用ASMM自動共享記憶體管理記憶體OracleASM
- 【MEMORY】Oracle記憶體結構資源常用檢視及sqlOracle記憶體SQL
- Java記憶體模型(MESI、記憶體屏障、volatile和鎖及final記憶體語義)Java記憶體模型
- [20210126]探究oracle記憶體分配.txtOracle記憶體
- JVM記憶體引數配置JVM記憶體
- 記一次網頁記憶體溢位分析及解決實踐網頁記憶體溢位
- Linux 的記憶體分頁管理Linux記憶體
- Linux的記憶體分頁管理Linux記憶體
- JVM記憶體分為3個記憶體空間JVM記憶體
- 遊戲記憶體對比普通記憶體區別 遊戲記憶體和普通記憶體相差大嗎?遊戲記憶體
- windows10系統怎麼開啟記憶體鎖定頁Windows記憶體
- Oracle記憶體結構(四)----如何獲得Oracle各記憶體段的內部資訊(轉)Oracle記憶體
- jvm記憶體設定及記憶體溢位、解決方案JVM記憶體溢位
- jvm:記憶體模型、記憶體分配及GC垃圾回收機制JVM記憶體模型GC
- SQLServer因為OS虛擬記憶體不足而hang住異常解決-鎖定記憶體頁 (LPIM)SQLServer記憶體
- win10如何查詢哪些應用記憶體佔用大 win10如何檢視軟體記憶體佔用Win10記憶體
- STM32記憶體分佈,啟動過程及bootloader記憶體boot
- MongoDB 如何使用記憶體?為什麼記憶體滿了?MongoDB記憶體
- MongoDB如何使用記憶體?為什麼記憶體滿了?MongoDB記憶體
- Oracle OCP(39):Database 記憶體結構OracleDatabase記憶體
- Oracle:記憶體設定注意事項Oracle記憶體
- 為節省記憶體,Firefox 將用新方式阻止載入沒用到的標籤頁記憶體Firefox