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