linux中與Oracle有關的核心引數詳解

2021-06-28 03:49:30 字數 3043 閱讀 6650

安裝

oracle

的時候需要調整

linux

核心引數,但是各引數代表什麼含義呢,下面做詳細解析。

linux

安裝文件中給出的最小值:

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肯定可以包含在單個共享記憶體段中。

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

表示套接字傳送緩衝區大小的最大值。

linux中與Oracle有關的核心引數詳解

在安裝oracle的時候需要調整linux的核心引數,但是各引數代表什麼含義呢,下面做詳細解析。linux安裝文件中給出的最小值 fs.aio max nr 1048576 fs.file max 6815744 kernel.shmall 2097152 kernel.shmmax 4294967...

linux中與Oracle有關的核心引數詳解

linux中與oracle有關的核心引數詳解 在安裝oracle 的時候需要調整 linux 的核心引數 但是各引數代表什麼含義呢,下面做詳細解析。linux 安裝文件中給出的最小值 fs.aio max nr 1048576 fs.file max 6815744 kernel.shmall 20...

linux中與Oracle有關的核心引數詳解

工作當中遇到oracle執行時cpu佔用率達到90 以上,調小以下引數值後恢復正常。fs.file max 65536 net.core.rmem default 262144 net.core.rmem max 262144 net.core.wmem default 262144 net.cor...