The following lists the kernel parameters of Linux that need to be adjusted and detailed parsing of each parameter when Oracle is installed.
Minimum values given in the Oracle official installation Documentation:
FS.AIO-MAX-NR = 1048576
Fs.file-max = 6815744
Kernel.shmall = 2097152
Kernel.shmmax = 4294967295
Kernel.shmmni = 4096
Kernel.sem = 250 32000 100 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
----------------------------------------------------------------------------------
The meaning of each parameter:
Kernel.shmmax:
is one of the most important parameters in the core parameter that defines the maximum value for a single shared memory segment. The settings should be large enough to accommodate the entire SGA under a shared memory segment, and too low settings may result in the need to create multiple shared memory segments, which can result in degraded system performance. The main reason for the system's descent is that when the instance is started and serverprocess is created, multiple small shared memory segments can cause minor system performance degradation at that time (you need to create multiple virtual address segments at startup, and have the process "recognize" multiple segments when the process is created. will have some impact), but at other times there will be no impact.
Official Recommended value:
32-bit Linux system: The maximum value is 4GB (4294967296bytes) -1byte, or 4294967295. The recommended value is more than half the memory, so if 32 is the system, the general value is 4294967295. The 32-bit system has limits on the SGA size, so the SGA can certainly be included in a single shared memory segment.
This paper url:http://www.bianceng.cn/os/linux/201410/45600.htm
64-bit Linux system: The most desirable value is the physical memory value -1byte, the recommended value is more than half of the physical memory, the general value is greater than sga_max_size, you can take physical memory -1byte. For example, if you are 12GB of physical memory, the preferred 12*1024*1024*1024-1=12884901887,SGA will certainly be included in a single shared memory segment.
Kernel.shmall:
This parameter controls the total number of pages of shared memory that can be used. The Linux shared memory page size is 4KB and the shared memory segment is an integer multiple of the size of the shared memory page. The maximum size of a shared memory segment is 16G, then the number of shared memory pages is 16gb/4kb=16777216kb/4kb=4194304 (page), that is, 64Bit system under 16GB physical memory, set Kernel.shmall = 4194304 to meet the requirements (almost twice times the original set 2097152). At this point can adjust the Shmmax parameter to 16G, while you can modify the Sga_max_size and Sga_target 12G (you want to set the maximum size of the SGA, of course, can be 2g~14g, but also to coordinate PGA parameters and OS and other memory use, can not set too full, such as 16G)
Kernel.shmmni:
This parameter is the maximum number of shared memory segments. The default value of Shmmni is 4096, which is generally sufficient.
Fs.file-max:
This parameter determines the maximum number of file handles allowed in the system, and the file handle setting represents the number of files that can be opened on the Linux system.
FS.AIO-MAX-NR:
This parameter restricts concurrent outstanding requests and should be set to avoid the I/O subsystem failure.
Kernel.sem:
Take Kernel.sem = 250 32000 100 128 For example:
250 is the value of the parameter SEMMSL, which represents the maximum number of semaphores that can be contained in a semaphore set.
32000 is the value of the parameter Semmns, which indicates the maximum number of semaphores allowed within the system.
100 is the value of the parameter semopm, which represents the number of operations that a single semopm () call can perform on a semaphore collection.
128 is the value of the parameter Semmni, representing the total number of system semaphore sets.
Net.ipv4.ip_local_port_range:
Represents the range of IPV4 ports that an application can use.
Net.core.rmem_default:
The default value that represents the size of the socket receive buffer.
Net.core.rmem_max:
Represents the maximum value of the socket receive buffer size.
Net.core.wmem_default:
The default value that represents the size of the socket send buffer.
Net.core.wmem_max:
The maximum value that represents the size of the socket send buffer.