if any of the current values are larger than the recommended value, then specify the larger value.
If the current value for any parameter is higher than the value listed in this table, then do not change the value of that parameter
如果/etc/sysctl.conf中的kernel.shmmax比推荐的值大 那么使用较大的值
[oracle@jssweb ~]$ getconf PAGE_SIZE 查看页大小
#
kernel.shmall = 2097152 则一共是8G的共享内存总量
SHMALL 单位页
Finally, we look at the SHMALL shared memory kernel parameter. This parameter controls the total amount of shared memory (in pages) that can be used at one time on the system. In short, the value
of this parameter should always be at least:
ceil(SHMMAX/PAGE_SIZE)
Kernel.shmall:共享内存总量,以页为单位。Linux 共享内存页大小为4KB, 共享内
存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需
要共享内存页数是 16GB/4KB=16777216KB/4KB=4194304 (页),也就是64Bit 系统下
16GB 物理内存,设置 kernel.shmall = 4194304 才符合要求(几乎是原来设置2097152
的两倍)。这时可以将shmmax 参数调整到 16G 了,同时可以修改SGA_MAX_SIZE 和
SGA_TARGET 为 12G(您想设置的SGA 最大大小,当然也可以是2G~14G 等,还要协调PGA
参数及OS 等其他内存使用,不能设置太满,比如16G)。
默认是kernel.shmall = 4294967296 足够大了
kernel.shmmax:Shmmax 是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值,shmmax 设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能
导致系统性能的下降