比如我们在开发服务端程序时候,会有很多客户端连接,假设每个活跃连接占用1M内存,那2000个连接,服务端内存就会不够用,应用场景还有很多。
有几个地方需要注意的:
1.2G内存已经满足不了你的程序,并且已经试过文件映射,分批处理等方式。
2.了解虚地址空间,了解内存简单读取操作。
3.首先你得有一台大内存服务器,比如64G,128G内存
4.有内存页锁定权限
组策略开启内存页锁定:控制面板->系统和安全->管理工具->本地安全策略->锁定内存页添加当前用户,重启电脑。
我这是这么处理的:
服务端接收到数据以后,比如数据大于128k时候,就申请扩展地址,投递到完成端口队列中。
完成端口队列取出数据处理,返回给客户端。
当有突发情况的时候,就不用丢弃数据,又可以充分利用服务器内存。
上一篇 批量查询手机基本信息工具