linux 内核调优

简介:

内核调优参数

 
  1. vm.swappiness = 10 
  2. net.ipv4.tcp_sack = 1 
  3. net.ipv4.tcp_window_scaling = 1 
  4. net.ipv4.tcp_rmem = 4096 87380 4194304 
  5. net.ipv4.tcp_wmem = 4096 16384 4194304 
  6. net.ipv4.tcp_fin_timeout = 1 
  7. net.ipv4.tcp_keepalive_time = 30 
  8. net.ipv4.route.gc_timeout = 100 
  9. net.ipv4.ip_local_port_range = 1024 65000 
  10. net.ipv4.tcp_tw_reuse = 1 
  11. net.ipv4.tcp_tw_recycle = 1 
  12. net.ipv4.tcp_syn_retries = 1 
  13. net.ipv4.tcp_synack_retries = 1 
  14. net.ipv4.tcp_max_syn_backlog = 262144 
  15. net.ipv4.tcp_max_orphans = 262144 
  16. net.ipv4.tcp_max_tw_buckets = 6000 
  17. net.ipv4.tcp_max_syn_backlog = 262144 
  18. net.core.somaxconn = 262144 
  19. net.core.netdev_max_backlog = 262144 
  20. net.core.wmem_default = 8388608 
  21. net.core.rmem_default = 8388608 
  22. net.core.rmem_max = 16777216 
  23. net.core.wmem_max = 16777216 
  24. net.ipv4.tcp_timestamps = 0 
  25. net.ipv4.tcp_mem = 94500000 915000000 927000000 
  26. net.ipv4.tcp_synack_retries = 2 
  27. net.ipv4.tcp_max_tw_buckets = 50000 
 
  1. # for iptables 
  2. net.ipv4.ip_conntrack_max = 6553600 
  3. net.ipv4.netfilter.ip_conntrack_max = 6553600 
  4. net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 300 
  5. net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120 
  6. net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60 
  7. net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120 
  8. net.ipv4.neigh.default.gc_thresh1 = 10240 
  9. net.ipv4.neigh.default.gc_thresh2 = 40960 
  10. net.ipv4.neigh.default.gc_thresh3 = 81920 

swappiness的值的大小对如何使用swap分区是有着很大的联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。两个极端,对于 centos linux 5的默认设置,这个值等于60,建议修改为10。

net.ipv4.tcp_syncookies = 1
#表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1
#表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1
#表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout = 30
#表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。
net.ipv4.tcp_keepalive_time = 1200
#表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
net.ipv4.ip_local_port_range = 1024 65000
#表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。

net.ipv4.tcp_max_tw_buckets = 5000
#表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,
#TIME_WAIT套接字将立刻被清除并打印警告信息。默认为180000,改为5000。
#对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,
#但是对于Squid,效果却不大。此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。

 
  1. net.ipv4.conf.eth1.rp_filter = 1 
  2. net.ipv4.conf.eth0.rp_filter = 1 
  3. net.ipv4.conf.lo.rp_filter = 0 
  4. net.ipv4.conf.default.rp_filter = 1 
  5. net.ipv4.conf.all.rp_filter = 0 

 

 
  1. rp_filter 的值的意义是: 
  2. 814 rp_filter – INTEGER 
  3. 815 0 – No source validation. 
  4. 816 1 – Strict mode as defined in RFC3704 Strict Reverse Path 
  5. 817 Each incoming packet is tested against the FIB and if the interface 
  6. 818 is not the best reverse path the packet check will fail. 
  7. 819 By default failed packets are discarded. 
  8. 820 2 – Loose mode as defined in RFC3704 Loose Reverse Path 
  9. 821 Each incoming packet’s source address is also tested against the FIB 
  10. 822 and if the source address is not reachable via any interface 
  11. 823 the packet check will fail. 
  12.  
  13. 0 就是对进来的包完全不作检查,这样有被dos 攻击的风险。 
  14. 1 就是严格检查,只要不是这个interface 的包,就不返回。 
  15. 2 就是不太严格,只要本机配置了这个ip ,还是可以返回的。

本文转自dongfang_09859 51CTO博客,原文链接:http://blog.51cto.com/hellosa/527705,如需转载请自行联系原作者
相关文章
|
8天前
|
Linux C语言
Linux内核队列queue.h
Linux内核队列queue.h
|
9天前
|
监控 Unix Linux
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
26 0
|
27天前
|
存储 Shell Linux
【Shell 命令集合 系统设置 】Linux 生成并更新内核模块的依赖 depmod命令 使用指南
【Shell 命令集合 系统设置 】Linux 生成并更新内核模块的依赖 depmod命令 使用指南
30 0
|
27天前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】⭐Linux 卸载已加载的内核模块rmmod命令 使用指南
【Shell 命令集合 系统设置 】⭐Linux 卸载已加载的内核模块rmmod命令 使用指南
29 1
|
9天前
|
Linux
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
19 0
|
7天前
|
算法 Linux 调度
深度解析:Linux内核的进程调度机制
【4月更文挑战第12天】 在多任务操作系统如Linux中,进程调度机制是系统的核心组成部分之一,它决定了处理器资源如何分配给多个竞争的进程。本文深入探讨了Linux内核中的进程调度策略和相关算法,包括其设计哲学、实现原理及对系统性能的影响。通过分析进程调度器的工作原理,我们能够理解操作系统如何平衡效率、公平性和响应性,进而优化系统表现和用户体验。
16 3
|
14天前
|
负载均衡 算法 Linux
深度解析:Linux内核调度器的演变与优化策略
【4月更文挑战第5天】 在本文中,我们将深入探讨Linux操作系统的核心组成部分——内核调度器。文章将首先回顾Linux内核调度器的发展历程,从早期的简单轮转调度(Round Robin)到现代的完全公平调度器(Completely Fair Scheduler, CFS)。接着,分析当前CFS面临的挑战以及社区提出的各种优化方案,最后提出未来可能的发展趋势和研究方向。通过本文,读者将对Linux调度器的原理、实现及其优化有一个全面的认识。
|
16天前
|
Linux 内存技术
Linux内核读取spi-nor flash sn
Linux内核读取spi-nor flash sn
13 1
|
23天前
|
存储 网络协议 Linux
【Linux 解惑 】谈谈你对linux内核的理解
【Linux 解惑 】谈谈你对linux内核的理解
22 0
|
27天前
|
存储 Linux Shell
【Shell 命令集合 系统设置 】Linux 显示Linux内核模块的详细信息 modinfo命令 使用指南
【Shell 命令集合 系统设置 】Linux 显示Linux内核模块的详细信息 modinfo命令 使用指南
24 0