oracle swap忽略可以吗,Oracle Swap居高不下处理
環(huán)境描述:
SYSTEM: rhe5.3 x86_64bit
ORACLE:ORACLE 11.1.7.0
內(nèi)存:8G
現(xiàn)像:
現(xiàn)場運(yùn)維發(fā)郵件回來前端應(yīng)用緩慢,不時會拋出異常!
分析:
通過查看服務(wù)器進(jìn)程使用情況發(fā)現(xiàn)一些進(jìn)程使用內(nèi)存相當(dāng)高,通過vmstat 查詢,系統(tǒng)層面已經(jīng)大量使用Swap交換分區(qū)了。說明內(nèi)存使用不足,系統(tǒng)層面反應(yīng)也是比較緩慢
vmstat情況:
但查看Oracle進(jìn)程查詢沒發(fā)現(xiàn)有消耗性能的SQL,
調(diào)整:
1:服務(wù)器內(nèi)存:
2:調(diào)整/dev/shm
3:調(diào)整內(nèi)核參數(shù)
4:調(diào)整數(shù)據(jù)庫參數(shù)
5:監(jiān)控DB情況
先為兩臺服務(wù)器增加16G內(nèi)存,輪流重啟服務(wù)器,完成內(nèi)存增加后,修改SGA,hugepage size hugepage_setting.sh查詢出vm.nr_hugepages = 6146
節(jié)點(diǎn)正常,但節(jié)點(diǎn)2不正常,和未增加內(nèi)存前一樣,Swap交換分區(qū)被大量使用。
解決:
通過分析及查詢資料發(fā)現(xiàn)hugepage 沒被使用
進(jìn)一步分析 :還是與hugepage設(shè)置及系統(tǒng)參數(shù)有關(guān):
HugePages配置
進(jìn)程需要訪問內(nèi)存的數(shù)據(jù)時,它的虛擬內(nèi)存地址段先連接到page?tables(Page?Table是用來存放虛擬內(nèi)存也和物理內(nèi)存頁對應(yīng)關(guān)系的內(nèi)存結(jié)構(gòu)),然后再連接到物理內(nèi)存。所以在訪問內(nèi)存時需要先訪問page?tables得到虛擬內(nèi)存和物理內(nèi)存的映射關(guān)系,然后再訪問物理內(nèi)存。page?size越小,相應(yīng)的內(nèi)存結(jié)構(gòu)也會越大,在RHEL?系統(tǒng)中,缺省為4k為一個單位,則物理內(nèi)存越大,page?tables相對越大。無形增加進(jìn)程掃描內(nèi)存的成本。
當(dāng)物理內(nèi)存大于8G時,建議使用hugepages配置,Hugepages的常見page?size為2M,是4k?size的500倍,所以可以大大減小page?table的尺寸,提交掃描內(nèi)存的效率。
同時CPU?cache中有一部分TLB(Translation?Lookaside?Buffer)用來存放部分page?table以提高這種裝換的速度。因?yàn)閜age?size變大了,所以同樣大小的TLB,所覆蓋的內(nèi)存大小也變大了。提高了TBL命中率,也就是提高了地址轉(zhuǎn)換的速度。
HugePages配置方法:
1、在?/etc/security/limits.conf?增加memlock配置
*?hard?memlock?unlimited
*?soft?memlock?unlimited
2、利用官方的提供的腳本hugepages_settings.sh[ID?401749.1],計算需要配置的內(nèi)存參數(shù)
$?./hugepages_settings.sh
......
Press?Enter?to?proceed...
Recommended?setting:?vm.nr_hugepages?=?6146
3、修改/etc/sysctl.conf?的項(xiàng)vm.nr_hugepages=6146
sysctl?-p;
sysctl?-a|grep?-i?huge
4、關(guān)閉實(shí)例及群集,重啟系統(tǒng)。
5、對hugepages配置進(jìn)行檢查:
$?grep?-i?huge?/proc/meminfo
HugePages_Total:??6146
HugePages_Free:?????15
Hugepagesize:?????2048?kB
6、啟動實(shí)例及數(shù)據(jù)庫群集。
參考:
HugePages?on?Oracle?Linux?64-bit?[ID?361468.1]
Shell?Script?to?Calculate?Values?Recommended?Linux?HugePages?/?HugeTLB?Configuration?[ID?401749.1]
問題解決
總結(jié)
以上是生活随笔為你收集整理的oracle swap忽略可以吗,Oracle Swap居高不下处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 新建路径,Linux环境安
- 下一篇: SU-100反坦克歼击车