In Oracle 11g installation, the following parameter values must be specified in linux. Select three of them as an example. The rest will not be written because they are not met for the time being.
# Vim/etc/sysctl. conf
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 = 1048576
# Sysctl-p
Shmall & shmmax & shmmni
Let's explain one by one:
Shmmax defines the maximum value of a single shared memory segment;
Shmmni defines the maximum number of shared memory segments that can be allocated by the system;
Shmall defines how many pages a shared memory segment can accommodate. (The size of each page is 4 KB)
According to my personal understanding, the relationship between the three is expressed. In linux, how many segments can shared memory be divided? It is determined by shmmax. How many segments can the shared memory be divided into in linux? It is determined by shmmni. How is the last segment made up? It is determined by shmall. You can think of each page that makes up the segment as the relationship between the segment and extent in oracle.