1. 程式人生 > 實用技巧 >/etc/sysctl.conf 引數配置說明

/etc/sysctl.conf 引數配置說明

IPC kernel parameter    Enforced minimum setting
kernel.shmmni (SHMMNI)    256 * <size of RAM in GB>
kernel.shmmax (SHMMAX)    <size of RAM in bytes>1
kernel.shmall (SHMALL)    2 * <size of RAM in the default system page size>2
kernel.sem (SEMMNI)    256 * <size of RAM in GB>
kernel.sem (SEMMSL)    
250 kernel.sem (SEMMNS) 256 000 kernel.sem (SEMOPM) 32 kernel.msgmni (MSGMNI) 1 024 * <size of RAM in GB> kernel.msgmax (MSGMAX) 65 536 kernel.msgmnb (MSGMNB) 65 536

#Example for a computer with 16GB of RAM:
kernel.shmmni=4096
kernel.shmmax=17179869184
kernel.shmall=8388608
#kernel.sem=<SEMMSL> <SEMMNS> <SEMOPM> <SEMMNI> kernel.sem=250 1024000 32 4096 kernel.msgmni=16384 kernel.msgmax=65536 kernel.msgmnb=65536

Runsysctlwith-pparameter to load insysctlsettings from the default file/etc/sysctl.conf:

vi/etc/sysctl.conf

 1    file-max:這個引數表示程序可以同時開啟的最大控制代碼數,這個引數直接限制最大併發連線數。
 
2 tcp_tw_reuse:這個引數設定為1,表示允許將TIME-WAIT狀態的socket重新用於新的TCP連結。這個對伺服器來說很有意義,因為伺服器上總會有大量TIME-WAIT狀態的連線。 3 tcp_keepalive_time:這個引數表示當keepalive啟用時,TCP傳送keepalive訊息的頻度。預設是7200 seconds,意思是如果某個TCP連線在idle 2小時後,核心才發起probe。若將其設定得小一點,可以更快地清理無效的連線。 4 tcp_fin_timeout:這個引數表示當伺服器主動關閉連線時,socket保持在FIN-WAIT-2狀態的最大時間。 5 tcp_max_tw_buckets:這個引數表示作業系統允許TIME_WAIT套接字數量的最大值,如果超過這個數字,TIME_WAIT套接字將立刻被清除並列印警告資訊。預設是i180000,過多TIME_WAIT套接字會使Web伺服器變慢。 6 tcp_max_syn_backlog:這個引數表示TCP三次握手建立階段接受WYN請求佇列的最大長度,預設1024,將其設定大一些可以使出現Nginx繁忙來不及accept新連線的情況時,Linux不至於丟失客戶端發起的連線請求。 7 ip_local_port_range:這個引數定義了在UDP和TCP連線中本地埠的取值範圍。 8 net.ipv4.tcp_rmem:這個引數定義了TCP接受快取(用於TCP接收滑動視窗)的最小值,預設值,最大值。 9 net.ipv4.tcp_wmem:這個引數定義了TCP傳送快取(用於TCP傳送滑動視窗)的最小值,預設值,最大值。 10 netdev_max_backlog:當網絡卡接收資料包的速度大於核心處理的速度時,會有一個佇列儲存這些資料包。這個引數表示該佇列的最大值。 11 rmem_default:這個引數表示核心套接字接收快取區預設的大小。 12 wmem_default:這個引數表示核心套接字傳送快取區預設的大小。 13 rmem_max:這個引數表示核心套接字接收快取區預設的最大大小。 14 wmem_max:這個引數表示核心套接字傳送快取區預設的最大大小。