ZBLOG

如果系统内存12个G,我要做百万个fd并发连接,每个连接4kb,net.ipv4.tcp_wmem设置为512,net.ipv4.tcp_rmem设置为512,那么net.ipv4.tcp_mem如何设置

根据给出的情况,您想要建立百万个并发连接,每个连接使用4KB的内存。对于TCP协议来说,除了net.ipv4.tcp_wmemnet.ipv4.tcp_rmem之外,还需要关注net.ipv4.tcp_mem参数。

在Linux系统中,net.ipv4.tcp_mem参数控制TCP socket接收缓冲区和发送缓冲区的内存分配。它有3个值:最小值、默认值和最大值。这些值都是以页面大小为单位(通常为4KB)。

考虑到您的系统内存为12GB,即约为3072个页面。由于每个并发连接使用4KB的内存,则百万个并发连接将需要约4000MB的内存(1,000,000 * 4KB / 1024 = 3906.25 MB)。所以在这种情况下,可以尝试设置较大一些的 net.ipv4.tcp_mem 参数以满足需求。

具体而言,可以将最小值设为该值(例如4000),默认值设为2倍或更多(例如8000),最大值设置得比较大以容纳更多的套接字缓冲区(例如16000或更高)。

请注意,在调整这些参数时,请确保您对系统性能有全面的了解,并根据实际测试结果进行调整。同时也建议监测系统资源使用情况,避免过度消耗系统资源导致性能下降或崩溃。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=1862

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?