Kernel parameter tuning under Linux
Kernel.shmmax
Shmmax is one of the most important parameters in the core parameter, used to define the maximum value of a single shared memory segment, the Shmmax setting should be large enough to accommodate the entire SGA under a shared memory segment, setting too low may result in the need to create multiple shared memory segments, which can result in degraded system performance.
Oralce suggests that a large shared memory segment can hold the entire SGA, so that there is no potential for performance degradation at any time.
The Oracle Installation documentation recommends that the 32-bit Linux setup Shmmax be the 32-bit maximum limit (Settingshmmax to the 32-bit number limit), which is 4G, so 1-4g physical memory can be set directly Shmmax For maximum physical memory, the SGA must be in a shared memory segment, with 32-bit Linux physical memory greater than 4G set to 4G
Set SHMMAX>=SGA (32-bit system support to more than 1.7G SGA needs attention). If it is a 64-bit Linux system, Shmmax is set to be larger than sga_max_size.
Ipcs-sa can see the number of shared memory segments
Kernel.shmall
The Kernel.shmall parameter is to control the number of shared memory pages. The size of the Linux Shared memory page is 4KB, and the size of the shared memory segment is an integer multiple of the shared memory page size. The maximum size of a shared memory segment is 16G, the number of shared memory pages is 16gb/4kb=16777216kb/4kb=4194304 (page), that is, 64-bit system 16GB physical memory, set kernel.shmall=4194304 to meet the requirements ( is almost twice times the original setting 2097152). The Shmmax parameter can be adjusted to 16G, while the sga_max_size and Sga_target can be modified to 12G (set the SGA maximum size is also 2g~14g, but also to coordinate the PGA parameter and the OS and other memory use, can not be set too full, such as 16G)
Kernel.shmmni
The Shmmni kernel parameter is the maximum number of shared memory segments (note that the parameter is not shmmin and is shmmni,shmmin represents the minimum size of the memory segment).
Shmmni default value of 4096 is sufficient.
Shmmax (bytes) = Shmmni (page size, default 4k) * Shmall (number of page)
Http://www.linuxidc.com/Linux/2013-03/81951.htm
Linux Core parameter Shmmax,shmall,shmni