美文网首页
Linux 内核调优

Linux 内核调优

作者: 承诺一时的华丽 | 来源:发表于2023-11-14 22:10 被阅读0次
# Kernel parameters
# 关闭 SysRq 功能以增强安全性
kernel.sysrq = 0
kernel.pid_max = 65535
# File system parameters
# 设置最大打开文件数,适应高并发环境
fs.file-max = 2097152

# 设置每个用户的最大文件监视数,适应应用程序可能的大量文件变化监听
fs.inotify.max_user_watches = 524288

# 设置每个进程允许打开的文件数量,高于默认值以适应高并发
fs.nr_open = 2000500

# Virtual memory parameters
# 设置交换的倾向,较低的值有助于减少交换操作,提高性能
vm.swappiness = 1

# 设置系统开始使用交换前的脏页占总内存的百分比
vm.dirty_ratio = 10

# 设置开始在后台回写脏页时脏页占总内存的百分比
vm.dirty_background_ratio = 2

# 增加最大内存映射数量,对一些内存密集型应用有利
vm.max_map_count = 262144

# 减少VFS缓存压力,提高文件系统性能
vm.vfs_cache_pressure = 50

# Network parameters
# 增加监听队列的最大长度,适应高并发连接
net.core.somaxconn = 65535

# 增加网络设备接收队列的最大长度,减少丢包
net.core.netdev_max_backlog = 30000

# 设置网络设备的预算,用于在软中断处理网络包时的最大处理量
net.core.netdev_budget = 30000
net.core.netdev_budget_usecs = 6000

# 设置IP碎片的高水位线
net.ipv4.ipfrag_high_thresh = 8388608

# 设置TCP快速打开的配置
net.ipv4.tcp_fastopen = 3

# 设置ICMP(互联网控制消息协议)参数
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1

# TCP congestion and queue management
# 设置默认队列调度算法为 fq,优化小包传输和避免缓冲区膨胀
net.core.default_qdisc = fq

# 使用 BBR 拥塞控制算法,提高带宽利用率和减少延迟
net.ipv4.tcp_congestion_control = bbr

# TCP memory optimizations
# 调整TCP读写缓冲区的最大值,适应大量数据传输
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

# 设置TCP读写缓冲区的默认大小
net.core.rmem_default = 16777216
net.core.wmem_default = 16777216

# 调整TCP内存的压力阈值
net.ipv4.tcp_mem = 4096 131072 16777216
net.ipv4.tcp_rmem = 4096 131072 16777216
net.ipv4.tcp_wmem = 4096 131072 16777216

# Enable TCP Fast Open
# 启用 TCP Fast Open,以减少TCP三次握手的开销
net.ipv4.tcp_fastopen = 3

# TCP SACK, DSACK, and FACK
# 启用选择确认(SACK),对丢包恢复有利
net.ipv4.tcp_sack = 1

# 启用重复SACK
net.ipv4.tcp_dsack = 1

# 禁用前向确认(FACK),根据网络情况调整
net.ipv4.tcp_fack = 0

# Keepalive settings
# 调整 TCP Keepalive 设置以快速检测和关闭死连接
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_keepalive_probes = 6

# 设置 TCP FIN 超时时间
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1

# 增加 TCP SYN 接收队列的最大长度
net.ipv4.tcp_max_syn_backlog = 65535

# 其他 TCP 通用调整
net.ipv4.tcp_no_metrics_save = 0
net.ipv4.tcp_moderate_rcvbuf = 1

# 关闭 TCP 在空闲时进入慢启动
net.ipv4.tcp_slow_start_after_idle = 1

# 安全相关配置
# 防止IP地址欺骗
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1

# 禁止发送重定向消息
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0

# 启用SYN Cookies,防御SYN洪水攻击
net.ipv4.tcp_syncookies = 1

# 网络协议栈调整
# 启用TCP时间戳以减少时间延迟
net.ipv4.tcp_timestamps = 1

# 启用TCP窗口缩放
net.ipv4.tcp_window_scaling = 1

# 允许系统接受源路由的数据包
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0

# 增大ICMP错误消息速率限制
net.ipv4.icmp_ratelimit = 100
net.ipv4.icmp_ratemask = 88089

# 减少TCP重试次数,快速检测和关闭死连接
# 调整TCP的重试次数,减少因为网络问题导致的连接挂起时间
net.ipv4.tcp_retries1 = 3
net.ipv4.tcp_retries2 = 15

# 调整TCP队列长度,减少拥塞
net.ipv4.tcp_max_tw_buckets = 1440000

# 调整TCP SYNACK 重试次数
net.ipv4.tcp_synack_retries = 3

# 其他性能调整
# 禁用IPv6,如果您不需要IPv6,这可以减少额外的网络开销
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

# 调整IPv4路由缓存的垃圾回收阈值
net.ipv4.route.gc_elasticity = 2

# 减少TCP和UDP跟踪器的条目生命周期,有助于在NAT环境下快速释放资源
net.netfilter.nf_conntrack_tcp_timeout_established = 54000
net.netfilter.nf_conntrack_udp_timeout = 60
net.netfilter.nf_conntrack_udp_timeout_stream = 180

# 提高网络接口接收包的最大缓冲区大小,有助于处理大量小包的情况
net.core.optmem_max = 65536

# 调整IP分片的行为,提高处理大数据包的效率
net.ipv4.ipfrag_time = 30

# 启用路由缓存流量共享,这可以提高处理大量数据的能力
net.ipv4.route.flush = 1

相关文章

  • Linux调优

    打开文件数设置 Linux内核调优

  • linux内核调优参数对比和解释

    参考文献 linux内核调优参数对比和解释

  • linux 内核调优

    【net】 ########################cat/proc/sys/net/ipv4/tcp_s...

  • Ubuntu调优

    Linux内核调优 /etc/sysctl.conf /etc/security/limits.conf mysq...

  • linux tcp内核调优

    参数文件位置:/proc/sys/net/ipv4/ 参数文件位置 /proc/sys/net/ipv4/net...

  • Performance Tuning (TBD)

    性能调优是个大而复杂的系统性问题,涉及Linux系统(进程管理,文件系统,磁盘系统,网络IO处理等),内核参数调优...

  • linux kernel optimization

    转自:熊出陌,linux内核调优参考https://www.cnblogs.com/olinux/p/557776...

  • TCP/IP 优化

    linux下修改内核参数进行Tcp性能调优 -- 高并发 /etc/sysctl.conffs.file-max在...

  • Linux 系统内核参数调优

    由于Linux的内核参数信息都存在内存中,因此可以通过命令直接修改,并且修改后直接生效。但是,当系统重新启动后,原...

  • Linux 系统内核参数调优

    通过调试系统内核参数使系统性能最大化 如:最大并发数(ab –n 10000 –c 100 http://loca...

网友评论

      本文标题:Linux 内核调优

      本文链接:https://www.haomeiwen.com/subject/iltswdtx.html