`
isiqi
  • 浏览: 16484347 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Linux内核: 修改TCP/IP调优参数

阅读更多

所有的TCP/IP调优参数都位于/proc/sys/net/目录. 例如, 下面是最重要的一些调优参数, 后面是它们的含义:

1. /proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲
2. /proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲
3. /proc/sys/net/ipv4/tcp_timestamps — 时间戳在(请参考RFC 1323)TCP的包头增加12个字节
4. /proc/sys/net/ipv4/tcp_sack — 有选择的应答
5. /proc/sys/net/ipv4/tcp_window_scaling — 支持更大的TCP窗口. 如果TCP窗口最大超过65535(64K), 必须设置该数值为1
6. rmem_default — 默认的接收窗口大小
7. rmem_max — 接收窗口的最大大小
8. wmem_default — 默认的发送窗口大小
9. wmem_max — 发送窗口的最大大小

/proc目录下的所有内容都是临时性的, 所以重启动系统后任何修改都会丢失.

建议在系统启动时自动修改TCP/IP参数:

把下面代码增加到/etc/rc.local文件, 然后保存文件, 系统重新引导的时候会自动修改下面的TCP/IP参数:

echo 256960 > /proc/sys/net/core/rmem_default
echo 256960 > /proc/sys/net/core/rmem_max
echo 256960 > /proc/sys/net/core/wmem_default
echo 256960 > /proc/sys/net/core/wmem_max

echo 0 > /proc/sys/net/ipv4/tcp_timestamps
echo 1 > /proc/sys/net/ipv4/tcp_sack
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling

TCP/IP参数都是自解释的, TCP窗口大小设置为256960, 禁止TCP的时间戳(取消在每个数据包的头中增加12字节), 支持更大的TCP窗口和TCP有选择的应答.

上面数值的设定是根据互连网连接和最大带宽/延迟率来决定.

注: 上面实例中的数值可以实际应用, 但它只包含了一部分参数.

另外一个方法: 使用 /etc/sysctl.conf 在系统启动时将参数配置成您所设置的值:

net.core.rmem_default = 256960
net.core.rmem_max = 256960
net.core.wmem_default = 256960
net.core.wmem_max = 256960

net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack =1
net.ipv4.tcp_window_scaling = 1

分享到:
评论

相关推荐

    linux tcp/ip.7z

    这份文档可能包含了对Linux内核TCP子系统的源代码的详细注解。TCP子系统是Linux内核的重要组成部分,负责处理所有TCP连接的建立、数据传输和连接关闭等任务。通过阅读这份注解,我们可以了解到以下关键知识点: 1. ...

    Linux内核TCP-IP协议栈分析.rar

    在本资料"Linux内核TCP/IP协议栈分析"中,我们将深入探讨这个核心组件的工作原理。 TCP/IP协议栈分为四个主要层次:应用层、传输层、网络层和数据链路层。在Linux内核中,每一层都有相应的模块负责处理相关的协议和...

    高性能Linux服务器构建实战:运维监控、性能调优与集群应用

    3.网络协议和调优:对TCP/IP协议的深入理解有助于优化网络服务,书中可能会讨论如何根据需求调整网络参数,比如TCP的拥塞控制算法、网络缓冲区大小等。 四、案例和实战 1.真实场景下的问题诊断和解决:通过分析...

    Linux内核视频教程(70G百度网盘资源)

    Linux内核是操作系统的核心部分,负责管理系统的硬件资源,提供基础服务给各种应用程序。这个70G的视频教程集合很可能是深入讲解Linux内核的详细课程,覆盖了从基础概念到高级技术的各种主题。以下是一些可能涵盖的...

    TCP.zip_tcp ip协议栈_tcp linux

    文件可能还涵盖了Linux内核中的TCP选项配置、性能调优方法以及如何通过系统调用来操作TCP连接等实际操作内容。 通过学习这个资料,读者可以了解到TCP/IP协议栈在Linux内核中的实现细节,理解TCP协议的工作流程,这...

    《Linux内核精髓:精通Linux内核必会的75个绝技》迷你书

    《Linux内核精髓:精通Linux内核必会的75个绝技》迷你书是一部针对Linux内核深度学习的专业读物。它旨在帮助读者深入理解Linux内核的工作原理,掌握核心概念和技术,从而提升在系统级编程和优化方面的技能。这部迷你...

    [Linux内核精髓:精通Linux内核必会的75个绝技]---高清版.pdf

    - 熟悉TCP/IP协议栈在Linux内核中的实现。 7. 系统监控和性能调优 - 学习使用各种系统监控工具,如top、htop、iostat、vmstat等。 - 理解CPU、内存、磁盘和网络的性能指标。 - 掌握性能问题的定位和调优技巧。 ...

    LINUX性能调优方法总结

    6. **内核参数调优**:根据系统负载和硬件配置,调整内核参数,如`kernel.shmall`和`kernel.shmmax`用于共享内存,`kernel.pid_max`控制最大进程数。 7. **调度器优化**:理解不同的CPU调度器(如CFS, RT)并根据...

    linux 内核精髓-精通linux内核必会的75个绝技

    《Linux内核精髓-精通Linux内核必会的75个绝技》是一本专为Linux爱好者和专业人员设计的深度学习指南。本书的核心目标是帮助读者深入理解Linux内核的工作原理,掌握其核心功能,并能熟练应用这些知识解决实际问题。...

    LInux内核精髓-精通Linux内核必会的75个绝技.pdf

    5. **网络协议栈**:Linux内核实现了完整的TCP/IP协议栈,包括网络接口层、数据链路层、网络层、传输层等。理解套接字编程、网络包的接收与发送过程对于网络应用开发非常有用。 6. **系统调用**:Linux系统调用是...

    Linux内核源代码情景分析(上)(下)

    7. **定时器和时钟管理**:讨论Linux内核中的定时器机制,如软硬中断、调度器时钟和实时定时器,以及它们在系统性能调优中的作用。 8. **异常和错误处理**:解释内核如何处理硬件异常、软件错误和系统崩溃,以及...

    Linux操作系统调优参数.docx

    TCP/IP参数调优能够显著改善网络通信效率,减少延迟并提高吞吐量。这些参数主要位于`/proc/sys/net`目录下,它们允许系统管理员动态调整网络行为。 1. **/proc/sys/net/core/rmem_max** - 这个参数定义了TCP接收...

    Linux性能调优指南,IBM专家资深指导

    6. **网络优化**:涉及TCP/IP栈的调整,包括TCP窗口大小、缓冲区大小、重传策略等,以及使用netstat和ethtool等工具分析网络性能。 7. **硬件适配**:针对不同硬件配置,如CPU、内存、磁盘和网络设备,提供相应的...

    LINUX内核完全剖析

    - **网络协议栈**:深入剖析Linux内核中的TCP/IP协议栈实现细节。 - **网络设备驱动**:学习如何编写网络设备驱动程序,如网卡驱动。 #### 五、实战案例分析 - **内核模块编写**:通过实际案例介绍如何编写一个...

    LINUX内核完全剖析.zip

    6. **网络协议栈**:Linux内核中的TCP/IP协议实现,从网络接口层到应用层的报文处理流程,以及套接字API的使用。 7. **中断和异常处理**:中断和异常在内核中的角色,中断处理机制,中断服务例程以及中断上下文的...

    Linux内核设计与实现(LKD 3rd)-中文扫描

    - **网络协议栈**:书中可能会深入探讨Linux内核如何实现TCP/IP协议栈中的关键组件,比如IP层、TCP层等,并介绍网络数据包的传输过程。 #### 四、案例研究与实践 为了更好地帮助读者理解和应用所学知识,《Linux...

    Linux内核源码完全解析注释

    Linux内核遵循GNU通用公共许可证(GPL),鼓励用户修改和分享源代码。随着社区的发展,Linux内核已经成为世界上最广泛使用的操作系统内核之一,被应用于服务器、移动设备、嵌入式系统等多个领域。 二、内核源码结构...

    computer-network.rar

    同时,它还可能涉及内核调优、进程调度、I/O子系统等关键性能影响因素,让你能优化系统运行效率,提升设备性能。 通过学习这两份资料,你不仅可以建立起扎实的计算机网络理论基础,还能深入理解Linux系统在实际应用...

    linux内核解析笔记

    5. **网络子系统**:Linux内核包含了强大的网络功能,支持多种网络协议(如TCP/IP),并处理网络数据包的发送和接收,实现网络通信。 6. **初始化过程(init)**:在Linux启动时,内核加载完毕后会启动init进程,它...

Global site tag (gtag.js) - Google Analytics