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,如需转载请自行联系原作者
相关文章
|
3天前
|
自然语言处理 监控 Linux
Linux 内核源码分析---proc 文件系统
`proc`文件系统是Linux内核中一个灵活而强大的工具,提供了一个与内核数据结构交互的接口。通过本文的分析,我们深入探讨了 `proc`文件系统的实现原理,包括其初始化、文件的创建与操作、动态内容生成等方面。通过对这些内容的理解,开发者可以更好地利用 `proc`文件系统来监控和调试内核,同时也为系统管理提供了便利的工具。
33 16
|
4月前
|
缓存 负载均衡 算法
深入探索Linux内核的调度机制
本文旨在揭示Linux操作系统核心的心脏——进程调度机制。我们将从Linux内核的架构出发,深入剖析其调度策略、算法以及它们如何共同作用于系统性能优化和资源管理。不同于常规摘要提供文章概览的方式,本摘要将直接带领读者进入Linux调度机制的世界,通过对其工作原理的解析,展现这一复杂系统的精妙设计与实现。
201 8
|
2月前
|
安全 Linux 测试技术
Intel Linux 内核测试套件-LKVS介绍 | 龙蜥大讲堂104期
《Intel Linux内核测试套件-LKVS介绍》(龙蜥大讲堂104期)主要介绍了LKVS的定义、使用方法、测试范围、典型案例及其优势。LKVS是轻量级、低耦合且高代码覆盖率的测试工具,涵盖20多个硬件和内核属性,已开源并集成到多个社区CICD系统中。课程详细讲解了如何使用LKVS进行CPU、电源管理和安全特性(如TDX、CET)的测试,并展示了其在实际应用中的价值。
|
2月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
143 15
|
4月前
|
负载均衡 算法 Linux
深入探索Linux内核调度器:公平与效率的平衡####
本文通过剖析Linux内核调度器的工作机制,揭示了其在多任务处理环境中如何实现时间片轮转、优先级调整及完全公平调度算法(CFS),以达到既公平又高效地分配CPU资源的目标。通过对比FIFO和RR等传统调度策略,本文展示了Linux调度器如何在复杂的计算场景下优化性能,为系统设计师和开发者提供了宝贵的设计思路。 ####
93 26
|
4月前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
129 17
|
3月前
|
算法 Linux
深入探索Linux内核的内存管理机制
本文旨在为读者提供对Linux操作系统内核中内存管理机制的深入理解。通过探讨Linux内核如何高效地分配、回收和优化内存资源,我们揭示了这一复杂系统背后的原理及其对系统性能的影响。不同于常规的摘要,本文将直接进入主题,不包含背景信息或研究目的等标准部分,而是专注于技术细节和实际操作。
|
3月前
|
存储 缓存 网络协议
Linux操作系统的内核优化与性能调优####
本文深入探讨了Linux操作系统内核的优化策略与性能调优方法,旨在为系统管理员和高级用户提供一套实用的指南。通过分析内核参数调整、文件系统选择、内存管理及网络配置等关键方面,本文揭示了如何有效提升Linux系统的稳定性和运行效率。不同于常规摘要仅概述内容的做法,本摘要直接指出文章的核心价值——提供具体可行的优化措施,助力读者实现系统性能的飞跃。 ####
|
3月前
|
监控 算法 Linux
Linux内核锁机制深度剖析与实践优化####
本文作为一篇技术性文章,深入探讨了Linux操作系统内核中锁机制的工作原理、类型及其在并发控制中的应用,旨在为开发者提供关于如何有效利用这些工具来提升系统性能和稳定性的见解。不同于常规摘要的概述性质,本文将直接通过具体案例分析,展示在不同场景下选择合适的锁策略对于解决竞争条件、死锁问题的重要性,以及如何根据实际需求调整锁的粒度以达到最佳效果,为读者呈现一份实用性强的实践指南。 ####
|
3月前
|
缓存 监控 网络协议
Linux操作系统的内核优化与实践####
本文旨在探讨Linux操作系统内核的优化策略与实际应用案例,深入分析内核参数调优、编译选项配置及实时性能监控的方法。通过具体实例讲解如何根据不同应用场景调整内核设置,以提升系统性能和稳定性,为系统管理员和技术爱好者提供实用的优化指南。 ####