ORACLE與hugepage(一)
以下的內容是基於32位的系統,4K的記憶體頁大小做出的計算
1)目錄表,用來存放頁表的位置,共包含1024個目錄entry,每個目錄entry指向一個頁表位置,每個目錄entry,4b大小,目錄表共4b*1024=4K大小
2)頁表,用來存放實體地址頁的起始地址,每個頁表entry也是4b大小,每個頁表共1024個頁表entry,因此一個頁表的大小也是4K,共1024個頁表,因此頁表的最大大小是1024*4K=4M大小
3)每個頁表entry指向的是4K的實體記憶體頁,因此頁表一共可以指向的實體記憶體大小為:1024(頁表數)*1024(每個頁表的entry數)*4K(一個頁表entry代表的頁大小)=4G
4)作業系統將虛擬地址對映為實體地址時,將虛擬地址的31-22這10位用於從目錄表中索引到1024個頁表中的一個,將虛擬地址的12-21這10位用於從頁表中索引到1024個頁表entry中的一個。從這個頁表entry中獲得實體記憶體頁的起始地址,然後將虛擬地址的0-12位用作4KB記憶體頁中的偏移量,那麼實體記憶體頁起始地址加上偏移量就是進出所需要訪問的實體記憶體地址。
由於32位作業系統不會出現4M的頁表,因為一個程式不能使用到4GB的記憶體空間,有些空間被保留使用,比如用來做作業系統核心的記憶體。而且頁表entry的建立出現在程式訪問到一塊記憶體的時候,而不是一開始就建立。
在32位系統下,一個程式訪問1GB的記憶體,會產生1M的頁表,如果是在64位系統,將會增大到2M。
很容易推算,如果一個SGA設定為60G,有1500個ORACLE使用者程式,64位LINUX的系統上,最大的頁表佔用記憶體為:60*2*1500/1024=175G,是的,你沒看錯,是175G!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-1061290/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE與hugepage(二)Oracle
- ORACLE hugepage好處與壞處Oracle
- Oracle Memory Management and HugePage (連載一)Oracle
- Oracle Memory Management and HugePage (連載二)Oracle
- Oracle Memory Management and HugePage (連載三)Oracle
- HugePage在oracle中的應用Oracle
- 為Linux版本Oracle 11gR2配置HugePageLinuxOracle
- 【HugePage】在Linux 64位系統下使用hugepageLinux
- linux的hugepage的配置-優化oracle記憶體 .Linux優化Oracle記憶體
- 在CentOS Linux 5中為oracle配置hugepage的方法CentOSLinuxOracle
- LINUX下為ORACLE資料庫設定大頁--hugepageLinuxOracle資料庫
- linux系統中配置hugepage,提升oracle資料庫效能LinuxOracle資料庫
- Linux Hugepage ,AMM及 USE_LARGE_PAGES for oracle 11GLinuxOracle
- Linux AS 5中hugepage的一些變化Linux
- [20170126]hugepage與記憶體碎片.txt記憶體
- Oracle在Linux下對記憶體大頁HugePage的實踐OracleLinux記憶體
- HugePage在mysql中的應用MySql
- Linux HugePage技術簡介Linux
- 如何在redhat5為oracle啟用及配置hugepage大頁記憶體RedhatOracle記憶體
- 用好HugePage,告別Linux效能故障Linux
- oracle dml與索引index(一)Oracle索引Index
- Linux下HugePage記憶體功能配置Linux記憶體
- linux 6.1安裝oracle 10g出現 ora-27125和hugepage記載LinuxOracle 10g
- 在Linux 64位系統下使用hugepageLinux
- Linux Hugepage ,AMM及 USE_LARGE_PAGES - 4Linux
- Linux Hugepage ,AMM及 USE_LARGE_PAGES - 3Linux
- Linux Hugepage ,AMM及 USE_LARGE_PAGES - 2Linux
- Linux Hugepage ,AMM及 USE_LARGE_PAGES - 1Linux
- Oracle 備份與恢復(一):概念Oracle
- 由hugepage設定導致的資料庫事故資料庫
- 【Oracle】 Oracle dbtimezone與OS時區不一致Oracle
- How to disable transparent Hugepage (THP) on Red Hat Enterprise Linux 8?Linux
- Oracle主鍵、唯一鍵與唯一索引的區別Oracle索引
- 一次Oracle診斷案例-SGA與SwapOracle
- 【原創】 Oracle 事務探索與例項(一)Oracle
- oracle scn與備份恢復backup recovery(一)Oracle
- Oracle與GreatSQL差異:更改唯一索引列OracleSQL索引
- 【ASK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(一)什麼是CDB與PDB?Oracle