网络缓冲区上的数据显示在过程内存使用中



我正在使用Process Explorer在投诉"似乎正在泄漏内存"之后查看我的一项服务的内存消耗

我在我的服务正在运行时观看"私有字节",并且肯定它以大约2MB/sec的速度上升。

编写了几个测试以寻找泄漏后,我没有发现。但是,我确实发现,如果我关闭登录,那么内存使用量将不再攀登。

我的理论是,该过程根本无法跟上通过网络发送的消息的数量,同时还将它们都记录到磁盘上。

我的问题然后:

1)消息会在"网络缓冲区?"

上不断累积

1a)什么决定在我的服务打电话给recv抓取它们之前,有多少个可以排队的地方?

2)该过程是否会使用/似乎使用更多内存作为消息队列?

我正在使用Windows 10和Server 2012 R2,Boost :: Asio(使用WinSock),在本机C 中。

如果您是指套接字接收缓冲区,则固定为大小,而不是过程地址空间的一部分。

最新更新