如何在Windows平台上测量应用程序的运行时内存要求?
答案 0 :(得分:2)
Perfmon.exe将监控进程的使用情况。
运行perfmon.exe,右键单击Add counters,为Performance Object选择Process,然后选择Virtual Bytes,Working Set和Page File等。
答案 1 :(得分:1)
我假设你的意思是在特定时间点使用内存,而不是它可能需要多少。
您可以通过Windows API获取有关进程消耗量的信息,例如GetProcessMemoryInfo。 Windows以块为单位分配内存,因此它可能比仅检查使用了多少内存或堆空间更准确。
答案 2 :(得分:0)
首先,“内存要求”的定义并不是很明确。当你开始时,你的executabel将链接到许多DLL。与第一个堆栈一起,这形成了您的初始过程。然后,您的进程可能会启动额外的线程,分配更多的内存,和/或内存映射一些文件。
现在Wwindows不会为所有这些需求提供真正的RAM。由于其他原因,已经加载了许多DLL,因此您将共享该RAM。当您获得软堆栈溢出时,将分配额外的堆栈RAM。当这些页面发生故障时,内存映射文件会分配RAM。
所以,其中一个重要问题是你真正想要的。你必须先回答这个问题。