我在 Windows 2008 上编写了一个简单而小型的服务器应用程序,它只接受连接,不做任何其他事情。我正在对套接字调用进行内存占用评估,我发现每个连接(在接受()之后)至少消耗 2.5 KB 的内存。有趣的是,内存不是由调用 accept() 的进程消耗的,而是由操作系统进程消耗的。我相信这可能是因为在操作系统内部为每个连接创建了数据结构。
现在,我有两个关键问题:
是否可以通过任何方式减少这种内存占用(通过更改任何参数、配置等)?如果是怎么办?(因为如果我们计划服务器接受数百万个连接,每个连接的 2K 就太多了)
如果我的服务器打算接受数百万个连接,那么使用 Windows 2008 是个好主意吗?还是我应该切换到其他操作系统?
请给我建议。