空的Win32 C++应用程序内存消耗过多

Excessive memory consumption in empty Win32 C++ app

本文关键字:内存 Win32 C++ 应用程序 空的      更新时间:2023-10-16

我最关心的是:

预设:

  1. 购买Windows 10并安装
  2. 下载并安装Visual Studio 2017社区版15.2
  3. 为C配置++
  4. 使用基本设置创建一个新的C++项目、Win32应用程序(不带ATL、非控制台)
  5. 生成和调试运行(查看空窗口的显示方式)
  6. 观察过程内存(在VS2017或其他工具中)

我的观察结果:

可执行文件本身是(150 kB)。应用程序本身在运行时会占用2 MB的内存。在不强化它的情况下,内存消耗会发生变化;有时增长,有时下降(在几分钟到30分钟的观察期后,我的最大值现在是3 MB)。您甚至可以在启动时将其最小化,只需使用Visual Studio或性能监视器来观察内存消耗情况。我在I/O字节上看不到任何东西,但不能确定。

我的问题是:

  1. 是什么占用了这么多内存
  2. 为什么在没有用户交互的情况下,内存使用率会随时间变化

谢谢!

一个空应用程序3 MB的内存使用量真的适合你吗?

是的,我可以。

如果是,你能向我解释为什么是这样吗?

因为我有4GB或几TB的虚拟地址空间。