1. 程式人生 > >sysctl內核參數解析

sysctl內核參數解析

設置 內容 接收 oracle數據庫 inux file 擁有 推薦 最大值

sysctl內核參數解析

kernel.參數

kernel.shmall = 2097152

## 1> 表示所有內存大小。可以分配的所有共享內存段的總和最大值。(以頁為單位)

## 2> 該參數以頁為單位,linux共享內存頁一般為4k,oracle默認參數是2097152,如果系統內存大於該參數,才考慮調整

## 3> 如何計算:2097152*4k/1024 = 8192M =8G

## 4> 如何設置該值:推薦設置為物理內存大小除以分頁大小。 獲取分頁大小 getconf PAGE_SIZE 既4096 =4k)

## 5> 假如linux系統內存為16G,如何設置shmall參數:16G *1024*1024/4K = 4194304

## 6> 查看當前設置:cat /proc/sys/kernel/shmall

kernel.shmmax = 1052045312

## 1> 表示最大共享內存,如果小的話可以按情況修改。一般為物理內存的一半。

## 2> 這個值的設置應該大於SGA_MAX_TARGET或MEMORY_MAX_TARGET的值。因此對於安裝oracle數據庫的系統,shammax的值應該比內存的1/2大一些

## 3> 如何計算:1052045312/1024/1024=1003.30859375M 不到1G

## 4> 查看系統內存及當前shmmax設置:

grep MemTotal /proc/meminfo

cat /proc/sys/kernel/shmmax

kernel.shmmni = 4096

## 1> 內核參數是共享內存段的最大數量(註意這個參數不是shmmin,是shmmni, shmmin 表示內存段最小大小) shmmni 缺省值4096 。

## 2> 該值也是系統中可以啟動oracle實例的最大數量。通常不需要更改

## 3> 查看當前設置:cat /proc/sys/kernel/shmmni

kernel.sem = 250 32000 100 128

## 表示設置的信號量。4個參數依次是

SEMMSL:每個用戶擁有信號量最大數

SEMMNS:系統信號量最大數

SEMOPM:每次semopm系統調用操作數

SEMMNI:系統辛苦量集數最大數。

這4個參數為固定內容大小。

## 查看當前設置:cat /proc/sys/kernel/sem

3.2 net.參數

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 = 1048576 ## 發送緩沖區的最大值

## 如何查看當前設置:

cat /proc/sys/net/ipv4/ip_local_port_range

cat /proc/sys/net/core/rmem_default

cat /proc/sys/net/core/rmem_max

cat /proc/sys/net/core/wmem_default

cat /proc/sys/net/core/wmem_max

3.3 fs.參數

fs.aio-max-nr = 1048576 ## 指的是同時可以擁有的異步IO請求數目

       ## 計算:1048576/1024 =1024K

fs.file-max = 6815744 ## 表示一個進程可以打開的文件句柄的最大數量。文件句柄設置代表linux系統中可以打開的文件數量

sysctl內核參數解析