Contents
1.52. Centos7内核升级¶
查看当前OS版本
$ cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
#安装epel源
$ yum install -y epel-release
$ yum install -y vim wget jq psmisc socat yum-utils device-mapper-persistent-data lvm2 ipvsadm ipset sysstat conntrack libseccomp
#列出elrepo-kernel相关的软件包
$ yum update -y --exclude=kernel*
#upgrade Linux kernel
$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
$ yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
#安装相关的内核包:
$ yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
#查看当前存在的内核版本
$ sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
#设置5.5.0的内核为默认启动项
$ grub2-set-default 0 && grub2-mkconfig -o /etc/grub2.cfg
# 重启系统
$ reboot
1.52.1. 升级内核¶
配置源:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum -y install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
查看支持的版本:
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
安装稳定版即可:
yum -y --enablerepo=elrepo-kernel install kernel-ml
修改默认内核:
sed -i "s#GRUB_DEFAULT=.*#GRUB_DEFAULT=0#g" /etc/default/grub
生产配置:
grub2-mkconfig -o /boot/grub2/grub.cfg
内核调优:
# 打开文件数优化
echo "ulimit -SHn 102400" >> /etc/rc.local
cat >> /etc/security/limits.conf << EOF
* soft core unlimit
* hard core unlimit
* soft fsize unlimited
* hard fsize unlimited
* soft data unlimited
* hard data unlimited
* soft nproc 65535
* hard nproc 63535
* soft stack unlimited
* hard stack unlimited
* soft nofile 655350
* hard nofile 655350
EOF
# 内核参数调优
cat > /etc/sysctl.conf << EOF
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl =15
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_orphans = 32768
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_wmem = 8192 131072 16777216
net.ipv4.tcp_rmem = 32768 131072 16777216
net.ipv4.tcp_mem = 786432 1048576 1572864
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.ip_conntrack_max = 65536
net.ipv4.netfilter.ip_conntrack_max=65536
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
EOF
sysctl -p
重启完成查看:
reboot
uname -r
卸载旧版本(选做):
# 查看版本
rpm -qa | grep kernel
# 卸载旧版本
yum -y remove kernel-3.10.0* kernel-tools* kernel-headers-3.10.0*
1.52.2. 参考文献¶
http://docker.ezops.cn/#/src/01/
https://www.cnblogs.com/itzgr/p/14668991.html