Centos7系统内核优化

  1. 内核优化
    1. 修改系统内存硬盘连接数
    2. 大页缓存配置
    3. 网络调优

内核优化

修改系统内存硬盘连接数

echo -ne "
* soft nofile 65536
* hard nofile 65536
* soft memlock unlimited
* hard memlock unlimited
" >>/etc/security/limits.conf

大页缓存配置

# 查看系统大页缓存配置
grep Huge /proc/meminfo

# 优化参数描述
# 内核分配策略
#   0有内存才能申请
#   1允许分配所有的物理内存
#   2允许分配超过所有物理内存和交换空间总和的内存
vm.overcommit_memory = 1
# 表示socket监听(listen)的backlog队列上限
net.core.somaxconn = 1024
# 禁用整个系统所有接口的IPv6
net.ipv6.conf.all.disable_ipv6=1
# 默认网卡禁止IPv6
net.ipv6.conf.default.disable_ipv6=1
# 当出现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
#net.ipv4.tcp_fin_timeout=30
# 表示当keepalive起用的时候,TCP发送keepalive消息的频度。
# 缺省是2小时,改为20分钟
#net.ipv4.tcp_keepalive_time=1200
# 表示用于向外连接的端口范围。缺省情况下:32768-61000,改为1024-65000
net.ipv4.ip_local_port_range=1024 65000
# SYN队列的长度,默认为1024,加大队列长度为8192
# 可以容纳更多等待连接的网络连接数
net.ipv4.tcp_max_syn_backlog=8192
# 表示系统同时保持TIME_WAIT套接字的最大数量
net.ipv4.tcp_max_tw_buckets=5000
# 默认内存每页是4K,增加页大小,减少映射表大小,提高cpu检索速度
# 内存设置值,有计算脚本
vm.nr_hugepages=256
# 转换内存的权重
# swappiness=60,表示内存使用率超过100-60=40%时开始使用交换分区
# swappiness=0的时候表示最大限度使用物理内存
vm.swappiness=20

网络调优

vim /etc/sysctl.conf

# 写入内容
vm.overcommit_memory = 1
net.core.somaxconn = 1024
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
#net.ipv4.tcp_fin_timeout=30
#net.ipv4.tcp_keepalive_time=1200
net.ipv4.ip_local_port_range=1024 65000
net.ipv4.tcp_max_syn_backlog=8192
net.ipv4.tcp_max_tw_buckets=5000
vm.nr_hugepages=256
vm.swappiness=20

# 配置文件立即生效
sysctl -p

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 [email protected]

×

喜欢就点赞,疼爱就打赏