0

我正在编写一个基于 Windows 的应用程序,它使用 OpenCV 库进行图像处理。这是一个多线程应用程序,每个线程加载一个图像并对其进行处理。我的问题是,当图像很大时,内存消耗变得非常高,应用程序崩溃。

我希望能够跟踪我的应用程序正在使用的内存量(从应用程序内)并动态限制正在创建的线程数。Windows 中有没有办法跟踪应用程序正在使用多少允许的内存(以及我将被允许多少)。

我正在使用 VC++(Windows 7 上的 VS2010)。

我确实看过一些问题,例如thisthis,但找不到任何允许从应用程序本身进行跟踪的问题。这可能吗?任何指导方针都会有所帮助。

4

1 回答 1

0

不知道这是否会对内存消耗产生任何严重影响,但如果您还没有这样做,则值得检查一下。

创建线程时,如果不指定堆栈大小,系统将使用与主线程相同的数量。这可能是 1MB。您可能不需要大筹码,因此请尝试传递 32k、64k、128k ......

于 2013-06-14T11:48:25.897 回答