我正在使用WinAPI调用在C ++中编写应用程序。我最近查看了Process Explorer中的统计信息,我可以看到,应用程序的工作集正在增长。程序初始化后,专用字节保持不变。我试图理解它是否是内存泄漏。
一些细节:
我没有使用 new 或 malloc 在我的代码中动态分配任何内存。我定期调用CreateProcess,但我不断重用相同的LPPROCESS_INFORMATION和LPSTARTUPINFO。我还确保为每个实例调用TerminateProcess并在调用后正确关闭句柄。
我的应用程序在多次迭代中执行相同的任务,但我注意到工作集具有相同的值,并且每次运行程序时都不会以相同的速度增长。
我也知道我的代码没有泄漏任何句柄。我仔细检查过它。
当程序运行时,我是否应该担心工作集会慢慢增长?仅仅因为操作系统的分页算法,工作集才能增长吗?
我找到了一个非常好的问题和几个很好的解释here。但这并没有回答我的问题。
更新:我正在使用MinGW + Eclipse