/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

Run sysctl with -p parameter to load in sysctl settings 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:这个参数表示内核套接字发送缓存区默认的最大大小。
原文地址:https://www.cnblogs.com/dahaoran/p/9192599.html