在安裝Oracle的時候須要調整linux的內核參數,可是各參數表明什麼含義呢,下面作詳細解析。linux
Linux安裝文檔中給出的最小值:shell
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
各參數詳解:併發
kernel.shmmax:性能
是核心參數中最重要的參數之一,用於定義單個共享內存段的最大值。設置應該足夠大,能在一個共享內存段下容納下整個的SGA ,設置的太低可能會致使須要建立多個共享內存段,這樣可能致使系統性能的降低。至於致使系統降低的主要緣由爲在實例啓動以及ServerProcess建立的時候,多個小的共享內存段可能會致使當時輕微的系統性能的下降(在啓動的時候須要去建立多個虛擬地址段,在進程建立的時候要讓進程對多個段進行「識別」,會有一些影響),可是其餘時候都不會有影響。spa
官方建議值:code
32位linux系統:可取最大值爲4GB(4294967296bytes)-1byte,即4294967295。建議值爲多於內存的一半,因此若是是32爲系統,通常可取值爲4294967295。32位系統對SGA大小有限制,因此SGA確定能夠包含在單個共享內存段中。進程
64位linux系統:可取的最大值爲物理內存值-1byte,建議值爲多於物理內存的一半,通常取值大於SGA_MAX_SIZE便可,能夠取物理內存-1byte。例如,若是爲12GB物理內存,可取12*1024*1024*1024-1=12884901887,SGA確定會包含在單個共享內存段中。 ip
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.shmmni:
該參數是共享內存段的最大數量。shmmni缺省值4096,通常確定是夠用了。
fs.file-max:
該參數決定了系統中所容許的文件句柄最大數目,文件句柄設置表明linux系統中能夠打開的文件的數量。
fs.aio-max-nr:
此參數限制併發未完成的請求,應該設置避免I/O子系統故障。
kernel.sem:
以kernel.sem = 250 32000 100 128爲例:
250是參數semmsl的值,表示一個信號量集合中可以包含的信號量最大數目。
32000是參數semmns的值,表示系統內可容許的信號量最大數目。
100是參數semopm的值,表示單個semopm()調用在一個信號量集合上能夠執行的操做數量。
128是參數semmni的值,表示系統信號量集合總數。
net.ipv4.ip_local_port_range:
表示應用程序可以使用的IPv4端口範圍。
net.core.rmem_default:
表示套接字接收緩衝區大小的缺省值。
net.core.rmem_max:
表示套接字接收緩衝區大小的最大值。
net.core.wmem_default:
表示套接字發送緩衝區大小的缺省值。
net.core.wmem_max:
表示套接字發送緩衝區大小的最大值