[整理]Enterprise Linux 5安裝Oracle11g需要調整的內核參數

修改 /etc/sysctl.conf 文件之後,執行命令 # sysctl -p 立刻生效

1、kernel.shmmax

     用於定義單個共享內存段的最大值
     shmmax 設置應該足夠大,能在一個共享內存段下容納下整個的SGA ,設置的過低可能會
導致需要創建多個共享內存段,這樣可能導致系統性能的下降。

 

2、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)。

 

3、kernel.shmmni

     是共享內存段的最大數量(注意這個參數不是 shmmin,是shmmni, shmmin 表示內存段最小大小 ) 。shmmni 缺省值4096 ,一般肯定是夠用了。

 

參考:http://blog.zol.com.cn/1084/article_1083499.html

 

 

4、kernel.sem

     是semaphores的縮寫,

     查看當前設置
     # cat /proc/sys/kernel/sem
     250 32000 100 128

 

     4個數據分別對應
     SEMMSL      250       表示每個信號集中的最大信號量數目
     SEMMNS      32000  表示系統範圍內的最大信號量總數目
     SEMOPM     100      表示每個信號發生時的最大系統操作數目
     SEMMNI      128      表示系統範圍內的最大信號集總數目

     如當oracle DB初始化參數文件中PROCESSES參數設置較大時,需要調整SEMAPHORES設置
     SEMMSL,應該設置爲服務器中各個實例中最大的PROCESSES參數+10,例如,當最大的PROCESSES參數爲5000時,SEMMSL應

                     設置爲5010。
     SEMMNS,參數應設置爲SEMMSL*SEMMNI,接上例SEMMSL爲5010,SEMMNS參數應爲(5010*128)=641280。
     SEMOPM,參數應設置與SEMMSL參數相同,接上例此處應設置爲5010

 

     更改當前SEMAPHORES參數設置:
     # echo "5010 641280 5010 128" > /proc/sys/kernel/sem
     # cat /proc/sys/kernel/sem
        5010 641280 5010 128

     如需啓動時自動應用,可在/etc/sysctl.conf增加:
     kernel.sem =5010 641280 5010 128

參考:http://www.cnscn.org/htm_data/20/0905/47739.html

 

5、fs.file-max

     可以分配的文件句柄的最大數目(文件系統最大可打開文件數)

 

6、net.ipv4.ip_local_port_range
     表示用於向外連接的端口範圍。缺省情況下很小:32768到61000,改爲1024到65000。

 

7、net.core.rmem_default和net.core.rmem_max

     默認和最大的TCP數據接收緩衝

 

8、net.core.wmem_default和net.core.wmem_max
     默認和最大的TCP數據發送緩衝

 

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