oracle 安裝要用到的記憶體相關引數詳解

wuweilong發表於2012-04-01
在這裡,對oracle在/etc/sysctl 要用到的引數值做個簡要的解釋和說明。
(1)kernel.shmmax:該引數定義了共享記憶體段的最大尺寸(以位元組為單位)。Linux 2.4/2.6預設為32M,對於oracle來說,該預設值太低了,通常將其設定為和實際記憶體一樣大即可。
(2)kernel.shmmni:這個核心引數用於設定系統範圍內共享記憶體段的最大數量。該引數的預設值是 4096 。通常不需要更改。
(3)kernel.shmall:該參數列示系統一次可以使用的共享記憶體總量(以頁為單位)。預設值就是2097152,通常不需要修改。
(4)kernel.sem:該參數列示設定的訊號量。
(5)fs.file-max:該參數列示檔案控制程式碼的最大數量。檔案控制程式碼設定表示在linux系統中可以開啟的檔案數量。
(6)net.ipv4.ip_local_port_range: 表示埠的範圍,為指定的內容。
(7)net.core.rmem_default: 表示接收套接字緩衝區大小的預設值(以位元組為單位)。        
(8)net.core.rmem_max: 表示接收套接字緩衝區大小的最大值(以位元組為單位)           
(9)net.core.wmem_default: 表示傳送套接字緩衝區大小的預設值(以位元組為單位)。
(10)net.core.wmem_max: 表示傳送套接字緩衝區大小的最大值(以位元組為單位)。
修改好核心以後,執行sysctl -p命令使新的配置生效。
 
注意:
 對於32位系統,一頁=4k,也就是4096位元組
 kernel.shmall = 4096  就是 4096*4k/1024/1024 = 15M 就是說可用共享記憶體一共 15M,資料庫當然會起不來啦。
 原值為 kernel.shmall = 4096
 
設定的一般規律
 
kernel.shmall = 2097152    ---記憶體8G
 kernel.shmall = 4194304    ---記憶體16G
 kernel.shmall = 8388608    ---記憶體32G
 kernel.shmall = 10485760    ---記憶體40G
 kernel.shmall = 12582912    ---記憶體48G
 kernel.shmall = 14680064    ---記憶體56G
 kernel.shmall = 16777216    ---記憶體64G
 kernel.shmall = 20971520    ---記憶體80G
 kernel.shmall = 25165824    ---記憶體96G
 kernel.shmall = 33554432    ---記憶體128G
 kernel.shmall = 50331648    ---記憶體192G
 kernel.shmall = 67108864    ---記憶體256G
 
 

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

相關文章