Windows:跟踪内存使用情况并限制线程

时间:2013-06-14 11:12:50

标签: windows visual-studio-2010 visual-c++ memory-management

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

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

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

我确实查看了一些问题,例如thisthis,但找不到任何允许在应用内部进行跟踪的问题。这可能吗?任何指导方针都会有所帮助。

1 个答案:

答案 0 :(得分:0)

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

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