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

2021-08-20 13:05:20 字數 2284 閱讀 6655

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

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相關

cat etc sysctl.conf oracle rac日記 p160 修改虛擬記憶體引數 vm.min free kbytes 409600 vm.vfs cache pressure 200 調整min free kbytes的目的是保持物理記憶體有足夠的空閒空間,防止突發性的換頁。swap...

linux中關閉oracle相關服務和監聽

由於遇到資產檢測,需要把應用系統服務和資料庫服務都停止一段時間,所以需要把oracle服務停了。步驟如下 1.登陸伺服器,然後切換使用者到oracle使用者 su oracle 2.檢視oracle例項和監聽的狀態,ps ef grep oracle 3.如果服務監聽在執行,則關閉。先關監聽,lsn...

Oracle相關服務與svchost exe程序

環境 winserver2003 sp1 oracle92 早上開機後,為了節省記憶體,先乾其他事情,遂把oracle程序結束了,完事之後再啟動 oracleservice 服務時,居然啟動失敗。思前想後,不得其解,感覺這應該是個很基礎的問題才對,誰讓我是個剛想學習oracle的菜鳥呢,於是硬著頭皮...