資源描述:
《linux與oracle內(nèi)核與內(nèi)存技術(shù).ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、x86-32位體系結(jié)構(gòu)中Linux+Oracle內(nèi)核與內(nèi)存管理技術(shù)演講者:pinerLINUX與ORACLE的完美結(jié)合“我們將把自己的所有業(yè)務(wù)都運行于Linux之上?!薄狶arryEllison+=RedhatAdvanceServer的內(nèi)存管理由于32-bit系統(tǒng)構(gòu)架的限制,線性虛擬內(nèi)存空間的大小在32-bit平臺上為4GB的固定大小采用PAE技術(shù)而擁有36位的線性尋址能力,這就可以讓RedhatAdvanceServer可以使用到達64G的虛擬內(nèi)存空間在PAE的RedhatAS上,Oracle怎么樣充
2、分利用內(nèi)存呢?內(nèi)存管理方式AS2.1中,4G的虛擬地址空間將被劃分為3G的用戶空間與1G的核心空間,在這種方式下,每個用戶進程最多能訪問3G的虛擬內(nèi)存空間在AS3.0,為了更好的利用大內(nèi)存,出現(xiàn)了一種稱為hugemem的核心,將采用4+4的尋址方式,也就是說,用戶進程與核心進程將可以有單獨的4G的虛擬地址尋址能力內(nèi)存管理方式RedhatAdvanceServer的核心介紹kernel-BOOT核心AS2.1與3.0的kernel-smp核心AS2.1的kernel-enterprice核心AS3.0的ker
3、nel-hugemem核心獲得內(nèi)核的辦法安裝新的核心包(RPM包)重新編譯新的核心(make)AS2.1將OracleSGA擴大到2.7GOracle817以上修改OS基地址修改OracleSGA限制oxFFFFFFFFoxC0000000oxBF000000ox00000000共享內(nèi)存段ox40000000SGAox50000000applicationcodesharedlibrarieskernelstuffstackSGAmax1.75Gox10000000ox150000002.98GAS2.1將
4、OracleSGA擴大到2.7G0xc0000000(核心空間的基地址3GB)-0x15000000(SGA的基地址336MB)-------------0xab000000(十進制約2.736GB)-堆??臻g-其它內(nèi)存空間------------~2.65到2.70GBAS2.1將OracleSGA擴大到2.7G用root身份修改啟動Oracle的進程基地址echo268435456>/proc/$pid/mapped_base修改共享內(nèi)存段echo3000000000>/proc/sys/kernel/
5、shmmax修改Oracle的SGA束縛地址genksms-s0x15000000>ksms.smake-fins_rdbms.mkksms.omake-fins_rdbms.mkioracleAS3.0將OracleSGA擴大到3.7G3+1內(nèi)存管理只能到2.7GSGA4+4內(nèi)存管理可以到3.7GSGAOS基地址AS3.0默認已經(jīng)修改只需要修改Oracle的SGA束縛地址genksms-s0x15000000>ksms.smake-fins_rdbms.mkksms.omake-fins_rdbms.mk
6、ioracle取消大SGA內(nèi)存修改返回默認值genksms>ksms.s重新編譯make-fins_rdbms.mkksms.omake-fins_rdbms.mkioracleAS2.1上2.7G以上SGA支持VLM技術(shù)通過使用內(nèi)存共享文件系統(tǒng)shmfs來實現(xiàn)僅僅是對Oracle92版本有效不能使用9i的動態(tài)內(nèi)存與多個塊大小的特性REDHAT2.1企業(yè)版核心2.4.9-e.8enterprise以上AS2.1上2.7G以上SGA支持用root身份運行mount-tshmshmfs-osize=7g/dev
7、/shm修改/etc/fstab自動掛裝shmfs/dev/shmshmsize=7g00確保大頁的支持,提高TLB命中率,防止被交換增加"bigpages=8200MB"到lilo或grub.confkernel/boot/vmlinuz-2.4.9-e.40smproroot=/dev/hda2hdc=ide-scsibigpages=8100MB看大頁的信息/proc/meminfoAS2.1上2.7G以上SGA支持確保大頁類型echo2>/proc/sys/kernel/shm-use-bigpag
8、esecho"kernel.shm-use-bigpages=2">>/etc/sysctl.conf修改共享內(nèi)存段echo4000000000>/proc/sys/kernel/shmmax修改init參數(shù)use_indirect_data_buffers=truedb_block_buffers=850000AS3.0上3.7G以上SGA支持AS3.0不支持大頁,利用改進的ramfs內(nèi)存文件系統(tǒng)可以自動防止被