這篇文章主要為大家展示了“Redhat中HugePage的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Redhat中HugePage的示例分析”這篇文章吧。
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)鎮(zhèn)原,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792
在操作系統(tǒng)Linux環(huán)境中,內(nèi)存是以頁(yè)P(yáng)age的方式進(jìn)行分配,默認(rèn)大小為4K。如果需要比較大的內(nèi)存空間,則需要進(jìn)行頻繁的頁(yè)分配和管理尋址動(dòng)作。
HugePage是傳統(tǒng)4K Page的替代方案。顧名思義,是用HugePage可以讓我們有更大的內(nèi)存分頁(yè)大小。無(wú)論是HugePage還是傳統(tǒng)的正常Page,這個(gè)過(guò)程都涉及到OS內(nèi)存尋址過(guò)程。
當(dāng)一個(gè)進(jìn)程訪問(wèn)內(nèi)存的時(shí)候,并不是直接進(jìn)行內(nèi)存位置訪問(wèn),是需要通過(guò)Page Table進(jìn)行轉(zhuǎn)移變換。在使用HugePage的情況下,PageTable具有了額外的屬性,就是判斷該頁(yè)記錄是HugePage還是Regular Page。
系統(tǒng)
uname -r
查看共享段
ipcs -m
查看大頁(yè)信息
grep Huge /proc/meminfo
確定內(nèi)存大小
free -g
計(jì)算HugePages_Total:腳本見(jiàn)401749.1
執(zhí)行腳本,注意這個(gè)過(guò)程中要求Oracle所有實(shí)例,包括數(shù)據(jù)庫(kù)和ASM都啟動(dòng)、AMM關(guān)閉,以及SGA大小超過(guò)100M。
修改/etc/security/limits.conf參數(shù)文件,添加數(shù)據(jù)庫(kù)實(shí)例用戶的memlock限制。
這個(gè)過(guò)程中使用memlock標(biāo)記,用于設(shè)置每個(gè)用戶允許的最大內(nèi)存使用情況。這個(gè)取值可以設(shè)置為數(shù)據(jù)庫(kù)服務(wù)器物理內(nèi)存大小。
注意:可用內(nèi)存>value(鎖定內(nèi)存)>=HugePages_Total*Hugepagesize
HugePagesize:
vi /etc/security/limits.conf
# 添加 oracle soft memlock value oracle hard memlock value
驗(yàn)證limit
ulimit -l
更改參數(shù)/etc/sysctl.conf
vm.nr_hugepages = HugePages_Total值(見(jiàn)第2步)
重啟系統(tǒng)及數(shù)據(jù)庫(kù)
驗(yàn)證
grep Huge /proc/meminfo
方法一:優(yōu)先方法是修改/boot/grub/grub.conf文件,在kernel行的后面加上"transparent_hugepage=never":
title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vg_xty64-lv_root rd_NO_LUKS.UTF-8 rd_LVM_LV=vg_xty64/lv_root rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto rd_NO_DM KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg_xty64/lv_swap transparent_hugepage=never initrd /initramfs-2.6.32-358.el6.x86_64.img
在/etc/rc.local中加入下面的代碼行:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi
重啟后校驗(yàn):
cat /sys/kernel/mm/transparent_hugepage/defrag always [never] cat /sys/kernel/mm/transparent_hugepage/enabled always [never]
如果結(jié)果非預(yù)期,可能是由于Linux的ktune和tuned服務(wù)所導(dǎo)致。在此種情況下,建議關(guān)閉這兩項(xiàng)服務(wù):
service tuned stop chkconfig tuned off service ktune stop chkconfig ktune off或者: tuned-adm off
AMM簡(jiǎn)介:SGA 在 Linux中是通過(guò)系統(tǒng)共享內(nèi)存實(shí)現(xiàn),而PGA是通過(guò)進(jìn)程私有空間實(shí)現(xiàn)。AMM實(shí)際上最大的功能是將SGA和PGA空間調(diào)節(jié)的通道打通,這必然帶來(lái)對(duì)原有SGA共享內(nèi)存方式架構(gòu)的影響。在AMM時(shí),ipcs –m顯示的虛擬空共享段就是實(shí)際效果的一部分。
AMM & HugePage
AMM是不支持HugePage的,如果強(qiáng)在AMM+HugePage模式下打開(kāi)數(shù)據(jù)庫(kù),是會(huì)遇到失敗信息。所有使用HugePages必須設(shè)置內(nèi)存參數(shù)MEMORY_TARGET / MEMORY_MAX_TARGET 為 0
如果使用了大內(nèi)存和SGA,那么HugePage對(duì)提高數(shù)據(jù)庫(kù)性能就非常重要。如果數(shù)據(jù)庫(kù)SGA腳本,比如超過(guò)8G(個(gè)人經(jīng)驗(yàn):建議SGA>32GB),就需要配置HugePages。配置HugePages 有如下好處:
大頁(yè)和普通頁(yè):傳統(tǒng)頁(yè)大小是4K而hugeLTB大小 2048k。這意味著系統(tǒng)需要處理512倍傳統(tǒng)頁(yè)面。
減少PageTable檢索負(fù)載:更小的PageTable意味著更快的檢索定位能力;
內(nèi)存性能提升:Page數(shù)量減少、大小的增加,減少了管理過(guò)程的復(fù)雜性,進(jìn)一步減少了瓶頸出現(xiàn)的概率;
非Swap內(nèi)存:當(dāng)開(kāi)啟HugePage的時(shí)候,HugePage是不會(huì)Swap的;
減少Page Table空間負(fù)載:在PageTable管理中,每條Page記錄是要占據(jù)64byte的空間的。也就是說(shuō),如果一塊50G的RAM,4k大小的PageTable要有80MB左右;
以上是“Redhat中HugePage的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
標(biāo)題名稱:Redhat中HugePage的示例分析
網(wǎng)站鏈接:http://www.ekvhdxd.cn/article14/iecpde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、做網(wǎng)站、自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站策劃、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)