Linux記憶體大頁設置

實際環境中,遇到3次由於記憶體大頁設置參數不合理或者錯誤,導致系統記憶體不足,或者資料庫記憶體不足的問題。

按照如下方式,推薦設置大頁參考下發設置!

參考
HugePages on Oracle Linux 64-bit (Doc ID 361468.1)
1.建議配置Linux 記憶體大頁=Oracle SGA大小+1G 或者 1~2個頁塊 4Mbytes

2.SGA大小建議參考如下
8G物理記憶體: SGA=3G PGA=1G
16G物理記憶體: SGA=6G PGA=2G
32G物理記憶體: SGA=16G PGA=4G
64G物理記憶體: SGA=32G PGA=8G
128G物理記憶體:SGA=72G PGA=24G
256G物理記憶體:SGA=120G PGA=40G
512G物理記憶體: SGA=240G PGA=80G

3.Linux用戶使用大頁的限制,無限制!
#vi /etc/security/limits.conf
* soft memlock unlimited
* hard memlock unlimited
4.配置大頁,共享記憶體參數設置
#vi /etc/sysctl.conf
###kernel.shmmax = 536870912 (以位元組為單位,物理記憶體數量(MB為單位)*0.75*1024*1024,為記憶體的0.75倍)
###kernel.shmall = 2097152 (根據shmmax來計算次值/4096) getconf PAGE_SIZE
#vm.nr_hugepages 大頁設置=大頁記憶體(m)/2(Hugepagesize)
#大頁設定多大的值,這個要根據系統SGA的配置來定,一般建議大頁的總佔用量大於系統上所有SGA總和+1GB【ASM實例如果沒有關閉AMM也無法使用大頁】

5.關閉透明大頁【適用於redhat6.9]
#重啟後查看是否關閉:always madvise [never] 括弧括到never為關閉
cp /etc/grub.conf /etc/grub.conf_20190625.bak
vim /etc/grub.conf
transparent_hugepage=never
重啟主機
#查看是否關閉:
grep Huge /proc/meminfo

Tags: