我在 Linux 机器上有超过 300 万个文件描述符,所以我查看了套接字缓冲区大小与 RAM 大小的关系如何限制机器可以处理的最大同时 tcp 连接数。有没有类似经历的,请指教。谢谢。
最佳答案
这与 RAM 大小无关,而是与虚拟内存大小有关。显然,您的缓冲区不能超过计算机上可用的总虚拟内存。也就是说,如果您发现当打开了 300 万个套接字时事情开始崩溃,那么如果可以的话,您最好将精力集中在减少套接字的数量上,而不是减少缓冲区大小——300 万个套接字是非常多,并且可能会提示您的架构存在其他一些问题。
关于c - 连接套接字的最大数量与 SO_SNDBUF 和 SO_RCVBUF 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18032304/