2017-10-13 79 views
-2

愚见关注的是以下几点:内存消耗过度++应用

预设:

  1. 购买Windows 10,并安装它
  2. 下载并安装Visual Studio 2017年,社区版15.2
  3. 将其配置为C++
  4. 创建一个新的C++项目的Win32应用程序与基本设置(不ATL,非控制台)
  5. 构建和调试运行(请参阅如何出现一个空窗口)
  6. 观察(VS2017或其它工具中)进程内存

我的意见:

可执行文件本身是(150 KB)。应用程序本身 - 运行时 - 以2 MB内存为开始。如果不加强它,内存消耗会发生变化;有时会增长,有时会减少(几分钟后,我的最大值为3 MB,至30分钟的观察区域)。您甚至可以在开始时将其最小化,并使用Visual Studio或性能监视器观察内存消耗情况。我无法看到I/O字节上的任何内容,但无法确定。

我的问题是:

  1. 什么正在采取这么多的内存?
  2. 为什么在没有用户交互的情况下,内存使用量随时间变化?

谢谢!

+1

我每次打喷嚏都浪费几兆字节,所以这不是我认为我会担心的。任何进程都会为启动而招致一些开销。 'std :: cin','std :: cout'和其他对象不会在树上精确地生长。另外,在MS-Windows上,进程还需要支持一个打开的窗口。这并不完全是零字节。 –

+4

与现在使用的751MBs相比,不,它不是那么多。 – NathanOliver

+3

你用'release'或'debug'编译过吗? –

回答

2

3 MB的空应用程序的内存使用情况对您来说真的可以吗?

是的,这对我来说没问题。

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

因为我有4GBseveral terabytes的虚拟地址空间空余。

+0

@FrançoisAndrieux:如果是这样,为什么问第一个问题呢? – IInspectable

+0

重读这个问题后,我认为你的解释是正确的。我会撤回评论。 –