[20221212]關於pre_page_sga引數的問題.txt
[20221212]關於pre_page_sga引數的問題.txt
--//別人遇到的問題,無法演示連結http://blog.itpub.net/267265/viewspace-2133260/=>[20170209]理解pre_page_sga引數.txt
--//我當時的測試設定pre_page_sga=true的情況,HugePages_Rsvd是0.
--//我看了一下實際上是對方sga_target設定問題導致的.透過例子說明:
1.環境:
$ cat initxxxx.ora
db_name=xxxx
instance_name=xxxx
sga_target=0G
sga_max_size=50G
shared_pool_size=2G
pre_page_sga=true
--//注意設定sga_target=0G
# grep "^vm.nr" /etc/sysctl.conf
vm.nr_hugepages = 26000
vm.nr_overcommit_hugepages = 1300
# sysctl -p
# sysctl vm.nr_hugepages
vm.nr_hugepages = 26000
# grep "^oracle" /etc/cur': grep "^oracle" /etc/security/limits.conf | grep memlock
oracle soft memlock unlimited
oracle hard memlock unlimited
$ egrep "Max locked memory|Limit" /proc/self/limits
Limit Soft Limit Hard Limit Units
Max locked memory unlimited unlimited bytes
2.測試:
--//測試前:
# grep -i pages /proc/meminfo
AnonPages: 226424 kB
AnonHugePages: 57344 kB
HugePages_Total: 26000
HugePages_Free: 26000
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
--//沒有任何程式使用hugepages.
$ export ORACLE_SID=xxxx
SYS@xxxx> startup nomount
ORACLE instance started.
Total System Global Area 5.3447E+10 bytes
Fixed Size 2265864 bytes
Variable Size 5.3284E+10 bytes
Database Buffers 134217728 bytes
Redo Buffers 26480640 bytes
# grep -i pages /proc/meminfo
AnonPages: 286296 kB
AnonHugePages: 69632 kB
HugePages_Total: 26000
HugePages_Free: 24601
HugePages_Rsvd: 24202
HugePages_Surp: 0
Hugepagesize: 2048 kB
--//可以發現當前僅僅使用了26000-24601 = 1399 ,相當於現在sga_target=1399 * 2M .
--//該例項如果全部使用應該是 26000-24601+24202 = 25601,相當於 50G+2M.
3.繼續:
$ cat initxxxx.ora
db_name=xxxx
instance_name=xxxx
sga_target=50G
sga_max_size=50G
shared_pool_size=2G
pre_page_sga=true
--//注意設定sga_target=50G
--//關閉資料庫例項xxxx.
--//測試前:
# grep -i pages /proc/meminfo
AnonPages: 217752 kB
AnonHugePages: 59392 kB
HugePages_Total: 26000
HugePages_Free: 26000
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
--//啟動資料庫例項xxxx.實際上這樣啟動比前面的啟動慢許多.
--//啟動例項後:
# grep -i pages /proc/meminfo
AnonPages: 286328 kB
AnonHugePages: 69632 kB
HugePages_Total: 26000
HugePages_Free: 473
HugePages_Rsvd: 74
HugePages_Surp: 0
Hugepagesize: 2048 kB
--//我不知道為什麼HugePages_Rsvd=74.
--//我測試前以為HugePages_Free=399,HugePages_Rsvd=0.
--//還是可以說明pre_page_sga=true的情況載入大部分sga到記憶體的hugepages中.
$ ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 68288514 oracle 640 268435456 18
0x00000000 68321283 oracle 640 53418655744 18
0x4fc32208 68354052 oracle 640 2097152 18
------ Semaphore Arrays --------
key semid owner perms nsems
0x7e7c81d8 63602688 oracle 640 1004
------ Message Queues --------
key msqid owner perms used-bytes messages
--//(268435456 + 53418655744 + 2097152 )/2048/1024 = 25601
--//alert記錄如下:
************************ Large Pages Information *******************
Per process system memlock (soft) limit = UNLIMITED
Total Shared Global Region in Large Pages = 50 GB (100%)
Large Pages used by this instance: 25601 (50 GB)
Large Pages unused system wide = 399 (798 MB)
Large Pages configured system wide = 26000 (51 GB)
Large Page size = 2048 KB
********************************************************************
4.後記:
--//順便提一下采用hugepages是大勢所趨,現在伺服器配置記憶體都很高.而且12c開始pre_page_sga預設設定就是true.
--//還採用原來的方式會導致PageTables消耗很大的記憶體.
--//另外注意一點如果設定vm.nr_hugepages 很大,會導致記憶體的大量浪費,比sga_max_size大一點點就ok了.
--//測試完成修改/etc/sysctl.conf裡面的vm.nr_hugepages引數略.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2927697/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20181109]12cR2 的pre_page_sga引數.txt
- 關於Jmeter引數化的編碼問題JMeter
- [20191129]關於hugepages的問題.txt
- [20190409]pre_page_sga=true與連線緩慢的問題.txt
- [20181229]關於字串的分配問題.txt字串
- [20191202]關於hugepages相關問題.txt
- [20190103]設定pre_page_sga=true啟動緩慢的問題.txt
- [20181123]關於降序索引問題.txt索引
- [20180403]關於時區問題.txt
- [20200711]關於左右連線的問題.txt
- [20200416]關於軟軟解析的問題.txt
- [20231109]bbed p命令dba引數問題.txt
- [20230317]關於TIME_WAIT問題.txtAI
- [20210520]關於主鍵索引問題.txt索引
- [20190918]關於函式索引問題.txt函式索引
- [20211018]運維中關於history的問題.txt運維
- [20190910]關於降序索引問題5.txt索引
- [20211220]關於標量子查詢問題.txt
- [20181124]關於降序索引問題4.txt索引
- [20181124]關於降序索引問題3.txt索引
- [20181124]關於降序索引問題2.txt索引
- [20190102]關於字串的分配問題(10g).txt字串
- [20180419]關於閃回的一些問題.txt
- [20180423]關於rman備份的問題2.txt
- 關於在request請求時,處理請求引數的問題
- [20180828]關於引數cursor_space_for_time(10g).txt
- [20191220]關於共享記憶體段相關問題.txt記憶體
- [20190603]關於dbms_output輸出問題.txt
- 關於C++中在模板引數中使用Lambda表示式的問題C++
- [20220909]bbed關於刪除記錄恢復的問題.txt
- [20190930]關於資料結構設計問題.txt資料結構
- [20191202]關於oracle例項是否使用hugepages問題.txtOracle
- [20180819]關於父子游標問題(11g).txt
- [20240807]數值累加的問題.txt
- [20220913]hugepage相關引數含義.txt
- [20191204]hugepage相關引數含義.txt
- LOG巨集的引數問題
- [20191223]關於共享記憶體段相關問題3.txt記憶體