Linux内核每个TCPIP网络连接消耗多少内存?

Linux内核每个TCPIP网络连接消耗多少内存?,第1张

Linux内核每个TCP / IP网络连接消耗多少内存?

对于TCP连接,消耗的内存取决于

  1. sk_buff的大小(Linux内核使用的内部网络结构)

  2. 连接的读写缓冲区

缓冲区的大小可以根据需要进行调整

root@x:~# sysctl -A | grep net | grep mem

检查这些变量

这些指定内核中所有网络连接的最大默认内存缓冲区使用量

net.core.wmem_max = 131071net.core.rmem_max = 131071net.core.wmem_default = 126976net.core.rmem_default = 126976

这些指定了特定于TCP连接的缓冲存储器使用情况

net.ipv4.tcp_mem = 378528   504704  757056net.ipv4.tcp_wmem = 4096    16384   4194304net.ipv4.tcp_rmem = 4096    87380   4194304

指定的三个值是“最小默认最大”缓冲区大小。因此从linux开始,将对每个连接使用默认值的读写缓冲区。随着连接数的增加,这些缓冲区将减少[最多直到指定的最小值]与最大缓冲区值相同。

可以使用此设置这些值

sysctl -w KEY=KEY VALUE

例如。下面的命令确保每个连接的读写缓冲区均为4096。

sysctl -w net.ipv4.tcp_rmem='4096 4096 4096'sysctl -w net.ipv4.tcp_wmem='4096 4096 4096'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5006326.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存