歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux內核

安裝Oracle時需要調整的linux內核參數

下面列出在安裝Oracle的時候需要調整linux的內核參數以及各參數的詳細解析。

Oracle官方安裝文檔中給出的最小值:

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創建的時候,多個小的共享內存段可能會導致當時輕微的系統性能的降低(在啟動的時候需要去創建多個虛擬地址段,在進程創建的時候要讓進程對多個段進行“識別”,會有一些影響),但是其他時候都不會有影響。

官方建議值:

32位linux系統:可取最大值為4GB(4294967296bytes)-1byte,即4294967295。建議值為多於內存的一半,所以如果是32為系統,一般可取值為4294967295。32位系統對SGA大小有限制,所以SGA肯定可以包含在單個共享內存段中。

本文URL:http://www.bianceng.cn/OS/Linux/201410/45600.htm

64位linux系統:可取的最大值為物理內存值-1byte,建議值為多於物理內存的一半,一般取值大於SGA_MAX_SIZE即可,可以取物理內存-1byte。例如,如果為12GB物理內存,可取12*1024*1024*1024-1=12884901887,SGA肯定會包含在單個共享內存段中。

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:

表示套接字發送緩沖區大小的最大值。

Copyright © Linux教程網 All Rights Reserved