空的Win32 C++应用程序内存消耗过多
Excessive memory consumption in empty Win32 C++ app
我最关心的是:
预设:
- 购买Windows 10并安装
- 下载并安装Visual Studio 2017社区版15.2
- 为C配置++
- 使用基本设置创建一个新的C++项目、Win32应用程序(不带ATL、非控制台)
- 生成和调试运行(查看空窗口的显示方式)
- 观察过程内存(在VS2017或其他工具中)
我的观察结果:
可执行文件本身是(150 kB)。应用程序本身在运行时会占用2 MB的内存。在不强化它的情况下,内存消耗会发生变化;有时增长,有时下降(在几分钟到30分钟的观察期后,我的最大值现在是3 MB)。您甚至可以在启动时将其最小化,只需使用Visual Studio或性能监视器来观察内存消耗情况。我在I/O字节上看不到任何东西,但不能确定。
我的问题是:
- 是什么占用了这么多内存
- 为什么在没有用户交互的情况下,内存使用率会随时间变化
谢谢!
一个空应用程序3 MB的内存使用量真的适合你吗?
是的,我可以。
如果是,你能向我解释为什么是这样吗?
因为我有4GB或几TB的虚拟地址空间。
相关文章:
- Win32编译器选项和内存分配
- 为什么将鼠标悬停在静态 Win32 控件上会增加内存并删除我的 GUI?
- Win32 无法从共享内存获取数据
- 空的Win32 C++应用程序内存消耗过多
- 调试Win32 API应用程序以进行内存泄漏
- 使用 Win32/WINAPI 通过内存映射文件传输数据
- win32 标准::线程泄漏内存
- 默认Win32项目具有恒定数量的内存泄漏
- Win32 C++中的DrawText会增加内存使用率
- C++/Win32 在虚拟内存中创建文件
- Win32/C++ 内存泄漏
- 清理内存(也许是win32 api)
- 对 win32 线程使用不同的静态库内存
- 获取 Win32 系统上的最大可寻址内存空间
- C++ WIN32 在共享内存中创建整数和布尔值数组
- Win32应用程序,可无限制地访问内存
- unicode或任何其他编码数据是如何存储在内存中的?(win32)
- 我需要在Win32样本的虚拟内存使用
- 将波形加载到内存中,然后使用Win32 API异步播放声音
- 使用MFC或Win32显示来自内存缓冲区的所有位图类型