内核分配给TCP连接的内存,单位是Page,1 Page = 4096 Bytes,可用命令查看:
#getconf PAGESIZE
4096
net.ipv4.tcp_mem = 196608 262144 393216
为每个TCP连接(一个socket)分配的读、写缓冲区内存大小,单位是Byte
net.ipv4.tcp_rmem = 4096 8192 4194304
net.ipv4.tcp_wmem = 4096 8192 4194304
一般按照缺省值分配,上面的例子就是读写均为8KB,共16KB
1.6GB TCP内存能容纳的连接数,约为 1600MB/16KB = 100K = 10万
4.0GB TCP内存能容纳的连接数,约为 4000MB/16KB = 250K = 25万
当然socket还包含文件描述符的内存占用,以及真正接收和发送时,缓冲区不见得是满的
原文:https://www.cnblogs.com/shengulong/p/11623621.html