oracle 设置 shmmax,Oracle 數據庫kernel.shmmax 及kernel.sem設置

最近因為拿到一個好配置的生產機器。在裝完數據庫后,需要對參數進行調優。

首先這個機器內存是128G的 ,而且/dev/shm 設置的是63G (物理內存的一半)。Oracle設置用的是AMM管理,那么就想是否能把這個內存設置大點。

首先這個參數文件在 vi /etc/sysctl.conf 里,重新加載生效是 sysctl -p# System default settings live in /usr/lib/sysctl.d/00-system.conf.

# To override those settings, enter new settings here, or in an /etc/sysctl.d/.conf file

#

# For more information, see sysctl.conf(5) and sysctl.d(5).

#ORACLE SETTING

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 15728640

kernel.shmmax = 64424509440

kernel.shmmni = 4096

kernel.sem = 5010 641280 5010 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

kernel.shmall: 共享內存頁數的最大值

Linux共享內存頁大小為4KB, 共享內存段的大小都是共享內存頁大小的整數倍。一個共享內存段的最大大小是16G,需要共享內存頁數是

16GB/4KB=16777216KB/4KB=4194304(頁)

kernel.shmmax:單個共享內存段的最大值

shmmax是核心參數中最重要的參數之一,用於定義單個共享內存段的最大值,shmmax設置應足夠大,能在一個共享內存段下容納下整個的SGA,設置的過低可能會導致需要創建多個共享內存段,可能導致系統性能的下降 。

kernel.shmmni:共享內存段的最大數量

注意該參數不是shmmin,是shmmni,shmmin 表示內存段最小大小 )

shmmni缺省值4096 足夠。

shmmax(bytes) = shmmni(page size, default 4k) * shmall (page的個數)

下面專門說說kernel.sem:對應4個值

SEMMSL、SEMMNS、SEMOPM、SEMMNI

SEMMSL: 每個信號集的最大信號數量

數據庫最大 PROCESS 實例參數的設置值再加上 10 。

Oracle 建議將 SEMMSL 的值設置為不少於 100 。

SEMMNS:用於控制整個 Linux 系統中信號(而不是信號集)的最大數。

Oracle 建議將 SEMMNS 設置為:系統中每個數據庫的 PROCESSES 實例參數設置值的總和,加上最大 PROCESSES 值的兩倍,最后根據系統中 Oracle 數據庫的數量,每個加 10 。

使用以下計算式來確定在 Linux 系統中可以分配的信號的最大數量。它將是以下兩者中較小的一個值:SEMMNS 或 (SEMMSL * SEMMNI)

SEMOPM: 內核參數用於控制每個 semop 系統調用可以執行的信號操作的數量。semop 系統調用(函數)提供了利用一個 semop 系統調用完成多項信號操作的功能。一個信號集能夠擁有每個信號集中最大數量的SEMMSL 信號,因此建議設置 SEMOPM 等於SEMMSL 。

Oracle 建議將 SEMOPM 的值設置為不少於 100 。

SEMMNI :內核參數用於控制整個 Linux 系統中信號集的最大數量。

Oracle 建議將 SEMMNI 的值設置為不少於 100 。

設計完這些之后可以 sysctl -p 生效,剩下可以配置AMM.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值