Linux 的精髓即为内核,Linux 运维的精髓即为优化,如何给 Linux 的内核优化呢?
优化注意事项
内核是 Linux 心脏,内核越强大 Linux 的功能越强大,也越稳定。新版本的内核可以提供更多功能,但默认参数可能不太适合当前的生产环境,所以需要添加一些参数实现内核优化。
不过内核也是 Linux 系统稳定运行的保障,所以在添加如下参数前,请先了解下它们的功能,并根据实际的情况调整,这样才可以使系统运行在其最佳状态。
系统 Kernel 优化一
1 2 3 4
| * soft nproc unlimited * hard nproc unlimited * soft nofile 655350 * hard nofile 655350
|
注意:将上述的内容添加至/etc/security/limits.conf 文件即可。
系统 Kernel 优化二
1 2 3 4 5 6
| ulimit -SHn 655350 ulimit -SHu unlimited ulimit -SHd unlimited ulimit -SHm unlimited ulimit -SHs unlimited ulimit -SHt unlimited
|
注意:将上述的内容添加至/etc/profile 文件即可。
系统 Kernel 优化三
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| sed -i "s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g" '/etc/sysctl.conf' echo -e "net.core.somaxconn = 65535" >> /etc/sysctl.conf echo -e "net.core.netdev_max_backlog = 262144" >> /etc/sysctl.conf echo -e "net.core.wmem_default = 8388608" >> /etc/sysctl.conf echo -e "net.core.rmem_default = 8388608" >> /etc/sysctl.conf echo -e "net.core.rmem_max = 16777216" >> /etc/sysctl.conf echo -e "net.core.wmem_max = 16777216" >> /etc/sysctl.conf echo -e "net.ipv4.route.max_size = 5242880" >> /etc/sysctl.conf echo -e "net.ipv4.route.gc_timeout = 20" >> /etc/sysctl.conf echo -e "net.ipv4.ip_local_port_range = 1025 65535" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_retries2 = 5" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_fin_timeout = 30" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_syn_retries = 3" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_synack_retries = 3" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_timestamps = 0" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_tw_recycle = 0" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_keepalive_time = 120" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_keepalive_probes = 3" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_keepalive_intvl = 15" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_max_tw_buckets = 200000" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_max_orphans = 3276800" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_max_syn_backlog = 262144" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_wmem = 8192 131072 16777216" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_rmem = 32768 131072 16777216" >> /etc/sysctl.conf echo -e "net.ipv4.tcp_mem = 94500000 915000000 927000000" >> /etc/sysctl.conf echo -e "net.nf_conntrack_max = 25000000" >> /etc/sysctl.conf echo -e "net.netfilter.nf_conntrack_max = 25000000" >> /etc/sysctl.conf echo -e "net.netfilter.nf_conntrack_tcp_timeout_established = 180" >> /etc/sysctl.conf echo -e "net.netfilter.nf_conntrack_tcp_timeout_time_wait = 1" >> /etc/sysctl.conf echo -e "net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60" >> /etc/sysctl.conf echo -e "net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120" >> /etc/sysctl.conf echo -e "net.unix.max_dgram_qlen = 655360" >> /etc/sysctl.conf echo -e "kernel.msgmnb = 655360" >> /etc/sysctl.conf echo -e "kernel.msgmax = 655360" >> /etc/sysctl.conf echo -e "kernel.msgmni = 20480" >> /etc/sysctl.conf
|
注意:直接执行上述命令即可。
条评论