小编uzb*_*nes的帖子

非托管VC++应用程序在Windows服务器上的内存消耗

好的,所以我有一个非常大的多线程非托管c ++应用程序(服务器),它运行在Windows 2003服务器上.它为20-50个并发用户提供各种业务逻辑的会话...有时,由于用户在客户端打开了大量窗口等对象/会话缓存之类的东西,它可能会占用大量内存(每个窗口都有一个单独的服务器'会话'.

我们经常看到消耗超过5-600 MB的物理内存和5-600 MB的虚拟内存.一旦达到这一点,我们似乎开始出现"内存不足"错误.

现在我知道Windows会在感觉需要释放物理内存时启动页面错误,而且win32应用程序通常只能分配最多4GB的内存,实际上只有2GB可用于应用程序实际使用'用户模式'地址空间,甚至更少的其他库加载后......我不确定'用户模式'内存使用情况是否是任务管理器上报告的内容. ..

所以无论如何我真正的问题是:

我如何知道我的应用程序可以访问多少用户模式内存,以及在任何给定时间(最好是从应用程序外部,即某些Windows管理工具)使用了多少内存?

[edit]在查看Process Explorer和网站之后,看起来值'Virtual Size'是应用程序可以访问多少内存的值.

memory windows visual-c++

2
推荐指数
1
解决办法
6699
查看次数

标签 统计

memory ×1

visual-c++ ×1

windows ×1