0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TCP的这些内存开销原来是这样

Linux爱好者 来源:Linux爱好者 作者:Linux爱好者 2021-02-09 18:08 次阅读

实际中 TCP 连接上肯定是要进行数据的收发的,而且还会有 TIME_WAIT 等其它状态。在这些复杂情况下,一条连接占用多大内存呢?飞哥用做了七天的实验结果告诉你!

实验1:ESTABLISH空连接

实验2:客户端 => 服务器发送数据测试

4ee33f2c-61ff-11eb-8b86-12bb97331649.png

实验3: 服务器 => 客户端发送数据测试

5221db58-61ff-11eb-8b86-12bb97331649.png

实验4:非 ESTABLISH 状态

54c32614-61ff-11eb-8b86-12bb97331649.png

55ae012a-61ff-11eb-8b86-12bb97331649.png

总结

我们把实验中的数据来总结一下

567e20c6-61ff-11eb-8b86-12bb97331649.png

可见,内核在 socket 内存开销优化上采取了不少方法:

1. 内核会尽量及时回收发送缓存区、接收缓存区,但高版本做的更好

2. 发送接收缓存区最小并一定不是 rmem 内核参数里的最小值,实际可能会更小

3. 其它状态下,例如对于TIME_WAIT还会回收非必要的 socket_alloc 等对象

责任编辑:xj

原文标题:漫画:花了 7 天时间测试,我彻底搞明白了 TCP 的这些内存开销!

文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 协议
    +关注

    关注

    2

    文章

    602

    浏览量

    39225
  • 内存
    +关注

    关注

    8

    文章

    3025

    浏览量

    74050
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1353

    浏览量

    79076

原文标题:漫画:花了 7 天时间测试,我彻底搞明白了 TCP 的这些内存开销!

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    磁敏光电液位计正确接线方法原来是这样

    液位计
    jzyb
    发布于 :2024年11月04日 11:23:18

    TCP协议是什么

    在网络通信的广阔领域中,TCP(Transmission Control Protocol,传输控制协议)扮演着举足轻重的角色。作为TCP/IP协议族中的核心协议之一,TCP位于网络层(IP层)之上
    的头像 发表于 10-09 13:54 640次阅读

    逻辑内存和物理内存的区别

    Access Memory),是计算机硬件的一部分,用于存储计算机当前正在使用的数据和程序。物理内存是计算机中的一种易失性存储器,这意味着一旦断电,存储在物理内存中的数据就会丢失。 1.1 物理内存的组成 物理
    的头像 发表于 09-27 15:38 686次阅读

    MODBUS TCP 转 CANOpen

    产品概述 SG-TCP-COE-210 网关可以实现将 CANOpen 接口设备连接到 MODBUS TCP 网络中。用户不需要了解具体的 CANOpen 和 Modbus TCP 协议即可实现
    的头像 发表于 09-24 13:59 278次阅读
    MODBUS <b class='flag-5'>TCP</b> 转 CANOpen

    简述内存的接口类型

    内存的接口类型多种多样,这些接口不仅决定了内存与主板之间的连接方式,还影响了内存的传输速度和稳定性。
    的头像 发表于 09-10 14:24 2206次阅读

    EtherCAT转Modbus TCP协议网关(JM-ECT-TCP

    JM-ECT-TCP网关实现EtherCAT网络与Modbus TCP网络之间的数据通讯,即将Modbus TCP设备转换为EtherCAT设备。
    的头像 发表于 09-07 17:05 343次阅读
    EtherCAT转Modbus <b class='flag-5'>TCP</b>协议网关(JM-ECT-<b class='flag-5'>TCP</b>)

    解决磁致伸缩液位计故障的秘诀原来是这样

    液位计
    华泰天科
    发布于 :2024年09月07日 09:22:34

    EtherNet/IP转Modbus-TCP协议网关(EtherNet/IP转Modbus-TCP

    /IP转Modbus TCP从站协议网关,可以实现对这些设备的集中管理和控制。 二,典型应用拓扑图 三,设备威廉希尔官方网站 参数 捷米特JM-EIP-TCP设备在Et
    的头像 发表于 09-04 11:09 409次阅读
    EtherNet/IP转Modbus-<b class='flag-5'>TCP</b>协议网关(EtherNet/IP转Modbus-<b class='flag-5'>TCP</b>)

    EtherNet/IP转Modbus-TCP协议网关(JM-EIP-TCP

    转Modbus TCP从站协议网关,可以实现对这些设备的集中管理和控制。 二,典型应用拓扑图 三,设备威廉希尔官方网站 参数 捷米特JM-EIP-TCP设备在Eth
    的头像 发表于 08-26 14:39 294次阅读
    EtherNet/IP转Modbus-<b class='flag-5'>TCP</b>协议网关(JM-EIP-<b class='flag-5'>TCP</b>)

    Modbus(TCP)转Profinet从总线协议转换网关(JM-TCP-PN)

    如何实现Profinet网络与Modbus TCP网络的连接互通,这是很多朋友都感到困惑的问题。接下来,将为大家集中进行解答。实际上,捷米特JM-TCP-PN这一设备能够出色地解决这个难题。下面,为
    的头像 发表于 08-16 10:14 356次阅读
    Modbus(<b class='flag-5'>TCP</b>)转Profinet从总线协议转换网关(JM-<b class='flag-5'>TCP</b>-PN)

    一文了解TCP/IP协议

    TCP/IP协议是现代计算机网络通信的基础,是互联网及局域网广泛使用的一套协议。TCP/IP协议集包括许多协议,其中最重要的是传输控制协议(TCP)和因特网协议(IP)。这些协议定义了
    的头像 发表于 08-07 15:38 1949次阅读
    一文了解<b class='flag-5'>TCP</b>/IP协议

    使用espconn_set_opt设置了TCP断开连接后立刻释放内存,好像不生效,怎么解决?

    在使用espconn_set_opt设置了TCP断开连接后立刻释放内存,好像不生效。我用的是以下的设置方法: err=espconn_set_opt(conn,ESPCONN_REUSEADDR
    发表于 07-10 07:21

    关于LabVIEW中TCP通讯中的TCP读取问题

    在读取数据之前加一个字节数的查询,就像串口通讯时的“缓冲区字节数”,这样就可以加一个选择,只有在TCP字节数大于0时,才进行TCP读取。这样就可以规避上述问题。 希望有好心人能解解惑,
    发表于 05-20 10:04

    精密空调—机房空调“闹情绪”?原来是这些故障在作怪!

    故障现象:精密空调不制冷或制冷效果不佳 原因分析:制冷系统故障、制冷剂泄漏、过滤网堵塞等。 解决方法:检查制冷系统是否正常,补充制冷剂,清洗或更换过滤网。
    的头像 发表于 02-24 18:21 446次阅读
    精密空调—机房空调“闹情绪”?<b class='flag-5'>原来是</b><b class='flag-5'>这些</b>故障在作怪!

    UDP与TCP的主要区别 UDP能否像TCP一样实现可靠传输?

    据包的传输不进行确认和重传,而TCP是一种面向连接的协议,通过确认和重传来实现可靠的数据传输。 首先,UDP无连接的特点使得它在传输时的开销较小。UDP的数据包不需要建立和维护连接,仅包括源端口、目的端口、长度和校验和等基本信息,因此UDP的头部比
    的头像 发表于 01-22 16:10 820次阅读