Oracle sysctl.conf 配置文件詳解

sysctl.conf配置詳解

接上一篇oracle 12 c靜默安裝 其中的 sysctl.conf配置詳解

sysctl.conf配置

[root\@POC-ORACLE \~]\# vi /etc/sysctl.conf

fs.file-max = 6815744

fs.aio-max-nr = 1048576  

kernel.sem = 250 32000 100 128  

kernel.shmmni = 4096  

kernel.shmall = 1073741824  

kernel.shmmax = 4398046511104  

kernel.panic_on_oops = 1  

net.core.rmem_default = 262144  

net.core.rmem_max = 4194304  

net.core.wmem_default = 262144  

net.core.wmem_max = 1048576 

 

net.ipv4.conf.all.rp_filter = 2  

net.ipv4.conf.default.rp_filter = 2    

net.ipv4.ip_local_port_range = 9000 65500

配置詳解

fs相關

#file-max:這個參數表示進程可以同時打開的最大句柄數,這個參數直接限制最大併發連接數。

fs.file-max = 6815744

#此參數限制併發未完成的異步請求數目,應該設置避免I/O子系統故障。

fs.aio-max-nr = 1048576

kernel相關

#注意:(第一列)*(第四列)=(第二列)

kernel.sem = 250 32000 100 128

#第一列SEMMSL,表示每個信號集中的最大信號量數目。

–SEMMSL: 每個信號集的最大信號數量

數據庫最大 PROCESS 實例參數的設置值再加上 10 。

Oracle 建議將 SEMMSL 的值設置爲不少於 100 。

#第二列SEMMNS,表示系統範圍內的最大信號量總數目。

**–SEMMNS:**用於控制整個 Linux 系統中信號(而不是信號集)的最大數。

Oracle 建議將 SEMMNS 設置爲:系統中每個數據庫的 PROCESSES
實例參數設置值的總和,加上最大 PROCESSES 值的兩倍,最後根據系統中 Oracle
數據庫的數量,每個加 10 。

使用以下計算式來確定在 Linux
系統中可以分配的信號的最大數量。它將是以下兩者中較小的一個值:SEMMNS 或 (SEMMSL
* SEMMNI)

#第三列SEMOPM,表示每個信號發生時的最大系統操作數目。

–SEMOPM: 內核參數用於控制每個 semop
系統調用可以執行的信號操作的數量。semop 系統調用(函數)提供了利用一個 semop
系統調用完成多項信號操作的功能。一個信號集能夠擁有每個信號集中最大數量的SEMMSL
信號,因此建議設置 SEMOPM 等於SEMMSL 。

Oracle 建議將 SEMOPM 的值設置爲不少於 100 。

#第四列SEMMNI,表示系統範圍內的最大信號集總數目。

**–SEMMNI :**內核參數用於控制整個 Linux 系統中信號集的最大數量。

Oracle 建議將 SEMMNI 的值設置爲不少於 100 。

#kernel.shmmni 共享內存段的最大數量

kernel.shmmni = 4096

----

注意該參數不是shmmin,是shmmni,shmmin 表示內存段最小大小

shmmni缺省值4096 足夠。

shmmax(bytes) = shmmni(page size, default 4k) * shmall (page的個數)

#kernel.shmmax最大共享內存2GB。單個共享內存段的最大值

kernel.shmmax = 4398046511104

----

shmmax是核心參數中最重要的參數之一,用於定義單個共享內存段的最大值,shmmax設置應足夠大,能在一個共享內存段下容納下整個的SGA,設置的過低可能會導致需要創建多個共享內存段,可能導致系統性能的下降

#kernel.shmall所有內存大小。共享內存頁數的最大值

kernel.shmall = 1073741824

----

Linux共享內存頁大小爲4KB,
共享內存段的大小都是共享內存頁大小的整數倍。一個共享內存段的最大大小是16G,需要共享內存頁數是

16GB/4KB=16777216KB/4KB=4194304(頁)

---------

一般情況下可以設置最大共享內存爲物理內存的一半,如果物理內存是 2G,則可以設置最大共享內存爲 1073741824,如上;如物理內存是 1G,則可以設置最大共享內存爲 512
* 1024 * 1024 = 536870912;以此類推。

----------

#遇到 kernel panic自動重啓

kernel.panic_on_oops = 1

net相關

#接收套接字緩衝區大小的默認值(以字節爲單位)。

net.core.rmem_default = 262144

#接收套接字緩衝區大小的最大值(以字節爲單位)。

net.core.rmem_max = 4194304

#發送套接字緩衝區大小的默認值(以字節爲單位)。

**net.core.wmem_default = 262144 **

#發送套接字緩衝區大小的最大值(以字節爲單位)。

**net.core.wmem_max = 1048576 **

#用來限制監聽(LISTEN)隊列最大數據包的數量,超過這個數量就會導致鏈接超時或者觸發重傳機制。

rp_filter Integer

0 - No source validation.

無源驗證。

1 - Strict mode as defined in RFC3704 Strict Reverse Path

       Each incoming packet is tested against the FIB and if theinterface

       is not the best reverse path the packet check will fail.

       By default failed packets are discarded.

嚴格的模式,在rfc3704嚴格的反向路徑定義

每個傳入的數據包的測試是針對FIB如果界面

是不是最好的反向路徑的數據包檢查會失敗。

默認情況下,沒有數據包被丟棄。

2 - Loose mode as defined in RFC3704 Loose Reverse Path

       Each incoming packet's source address is also tested against the FIB

       and if the source address is not reachable via any interface

       the packet check will fail.

鬆散的模式在rfc3704鬆散的逆向路徑定義

每個傳入的數據包的源地址也測試對FIB

如果源地址不通過任何接口可達

數據包檢查將失敗。

#過濾模式

**net.ipv4.conf.all.rp_filter = 2 **

net.ipv4.conf.default.rp_filter = 2

#ip_local_port_range 內核端口範圍

et.ipv4.ip_local_port_range = 9000 65500

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章