首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tcp_rmem sysctl对内存使用率有何影响?

tcp_rmem sysctl对内存使用率有何影响?
EN

Stack Overflow用户
提问于 2020-04-24 21:19:03
回答 1查看 102关注 0票数 0

我想以这样的方式配置tcp_rmem,它既适用于低延迟,也适用于高延迟。同时,对于低延迟的用例,它不会消耗更多的内存。有可能做到这一点吗?我在考虑为tcp_rmem设置更高的值,这样它就可以在高延迟下工作。想象一下,如果延迟很低,那么每个连接会为接收缓冲区分配多少内存?

例如,如果我将tcp_rmem设置为1MB(最小值)2MB(默认值)3MB(最大值)。1.是总是为每个连接分配2MB,还是根据需要分配2MB? 2.是从1MB开始,当发现1MB不够时,再分配2MB,当看到2MB不够时,再分配3MB。3.不考虑时延,总是根据传入速率分配1MB、2MB、3MB?

所以在我的测试中,速率是恒定的,延迟是可变的。90%的时间延迟将会非常低。但为了处理这10%的高延迟情况,我必须将tcp_rmem更改为高值,这也会影响90%的其他场景。

我找不到tcp_moderate_rcvbuf参数是如何工作的?根据什么参数来分配内存。

EN

回答 1

Stack Overflow用户

发布于 2020-04-28 03:55:40

systcl tcp_rmem和tcp_wmem的min、default、max字段的含义如下。min:总是保证分配最小的套接字缓冲区大小。使用套接字选项SO_RCVBUF,任何大小都可以用于接收缓冲区。但不能超过max。

默认值:这是默认分配的套接字缓冲区大小的总量。max:如果使用SO_RCVBUF显式设置,则不能将套接字缓冲区大小设置为大于此值。

因此,如果设置了更高的min、default和max值。无论延迟和吞吐量如何,都会始终使用它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61409344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档