linux 跟oracle相關的系統核心引數?

531968912發表於2016-09-19

linux 跟oracle相關的系統核心引數
1、kernel.shmmax:
是核心引數中最重要的引數之一,用於定義單個共享記憶體段的最大值。設定應該足夠大,能在一個共享記憶體段下容納下整個的SGA ,設定的過低可能會導致需要建立多個共享記憶體段,這樣可能導致系統效能的下降。至於導致系統下降的主要原因為在例項啟動以及ServerProcess建立的時候,多個小的共享記憶體段可能會導致當時輕微的系統效能的降低(在啟動的時候需要去建立多個虛擬地址段,在程式建立的時候要讓程式對多個段進行“識別”,會有一些影響),但是其他時候都不會有影響。
官方建議值:
64位linux系統:可取的最大值為實體記憶體值-1byte,建議值為多於實體記憶體的一半,一般取值大於SGA_MAX_SIZE即可,可以取實體記憶體-1byte。例如,如果為12GB實體記憶體,可取12*1024*1024*1024-1=12884901887,SGA肯定會包含在單個共享記憶體段中。

2、kernel.shmall:
getconf PAGESIZE 可以檢視共享記憶體也的大小
該引數控制可以使用的共享記憶體的總頁數。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)

3、kernel.shmmni:
該引數是共享記憶體段的最大數量。shmmni預設值4096,一般肯定是夠用了。

4、fs.file-max:
"fs.file-max = 512 * PROCESSES"得到的
該引數決定了系統中所允許的檔案控制程式碼最大數目,檔案控制程式碼設定代表linux系統中可以開啟的檔案的數量。

5、fs.aio-max-nr:
此引數限制併發未完成的請求,應該設定避免I/O子系統故障。

6、kernel.sem:
以kernel.sem = 250 32000 100 128為例:
  250是引數semmsl的值,表示一個訊號量集合中能夠包含的訊號量最大數目。
  32000是引數semmns的值,表示系統內可允許的訊號量最大數目。
  100是引數semopm的值,表示單個semopm()呼叫在一個訊號量集合上可以執行的運算元量。
  128是引數semmni的值,表示系統訊號量集合總數。

7、net.ipv4.ip_local_port_range:
表示應用程式可使用的IPv4埠範圍。

8、net.core.rmem_default:
表示套接字接收緩衝區大小的預設值。

10、net.core.rmem_max: 
表示套接字接收緩衝區大小的最大值。

11、net.core.wmem_default: 
表示套接字傳送緩衝區大小的預設值。

12、net.core.wmem_max: 
表示套接字傳送緩衝區大小的最大值。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-2125119/,如需轉載,請註明出處,否則將追究法律責任。

相關文章