Linux内核参数优化说明

转载请注明出处:http://www.madown.com/2018/05/30/linux内核参数优化说明/

Linux VM最低保留的空闲内存(Kbytes)
vm.min_free_kbytes = 102400

仅当剩空闲内存低于vm.min_free_kbytes时使用交换空间
vm.swappiness = 0

用户申请内存的时候,系统不进行任何检查任务内存足够用,直到使用内存超过可用内存
vm.overcommit_memory = 1

进程能拥有的最多的内存区域
vm.max_map_count = 262144

开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭
net.ipv4.tcp_syncookies = 1

开启连接复用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭
net.ipv4.tcp_tw_reuse = 1

开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭
net.ipv4.tcp_tw_recycle = 1

支持更大的TCP窗口. 如果TCP窗口最大超过65535(64KB), 必须设置该数值为1
net.ipv4.tcp_window_scaling = 1

关闭TCP时间戳
net.ipv4.tcp_timestamps = 0

系统同时保持TIME_WAIT的最大数量,如果超过这个数字,TIME_WAIT将立刻被清除并打印警告信息
net.ipv4.tcp_max_tw_buckets = 20000

当keepalive起用的时候,TCP发送keepalive消息的频度(秒)
net.ipv4.tcp_keepalive_time = 60

如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间
net.ipv4.tcp_fin_timeout = 30

最大孤儿(不被关联到任何一个用户文件句柄上的)套接字数
net.ipv4.tcp_max_orphans = 262144

TCP SYN队列的最大长度
net.ipv4.tcp_max_syn_backlog = 262144

对外连接的端口号范围
net.ipv4.ip_local_port_range = 15000 65000

端口最大的监听队列的长度
net.core.somaxconn = 65535

每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
net.core.netdev_max_backlog = 262144

接收套接字缓冲区大小的默认值(以字节为单位)
net.core.rmem_default = 8388608

发送套接字缓冲区大小的默认值(以字节为单位)
net.core.wmem_default = 8388608

接收套接字缓冲区大小的最大值(以字节为单位)
net.core.rmem_max = 16777216

发送套接字缓冲区大小的最大值(以字节为单位)
net.core.wmem_max = 16777216

禁用整个系统所有接口的IPv6
net.ipv6.conf.all.disable_ipv6 = 1

禁用某一个指定接口的IPv6
net.ipv6.conf.lo.disable_ipv6 = 1

默认禁用IPv6
net.ipv6.conf.default.disable_ipv6 = 1

禁用SysRq功能
kernel.sysrq = 0

控制core文件的文件名中是否添加pid作为扩展
kernel.core_uses_pid = 1

每个消息队列的最大字节限制(bytes)
kernel.msgmnb = 65536

从一个进程发送到另一个进程的消息的最大长度(bytes)
kernel.msgmax = 65536

内核所允许的最大共享内存段的大小(bytes)
kernel.shmmax = 68719476736

系统上可以使用的共享内存的总量(bytes)
kernel.shmall = 4294967296

调用inotify_init时分配给inotify instance中可排队的event的数目的最大值,超出这个值的事件被丢弃,但会触发IN_Q_OVERFLOW事件
fs.inotify.max_queued_events = 999999999

同一用户同时可以添加的watch数目(watch一般是针对目录,决定了同时同一用户可以监控的目录数量)
fs.inotify.max_user_watches = 999999999

每一个real user ID可创建的inotify instatnces的数量上限,默认128
fs.inotify.max_user_instances = 65535