使用gflags + ust,进程内存增加更快

当我尝试在Windows应用程序中发现内存泄漏时,我遇到了gflags问题。

当我打开ust标志(为了收集内存分配堆栈跟踪),我的应用程序的内存增加速度要比标志closures的速度快得多(在10分钟内达到800MB,远离50-标志closures时我得到100MB /天)。

我读过,有32MB的堆栈跟踪的最大值,所以我想这应该不是一个问题。

计算机是4x Intel(R)Xeon(R)CPU E5410 @ 2.33GHz

如果有人能给我一些提示,我会很感激。

谢谢!

堆栈跟踪数据库不是唯一标志的影响。 它还会为每个分配添加至少32个字节,以便存储其堆栈跟踪标识。 这可以解释你的记忆增加,如果很多小的分配涉及。 如果您使用附加的调试器启动进程或使用调试目标编译进程,则Windows堆将设置为调试模式,每个分配的开销将更大。

您可以使用/ tracedb SizeInMB来设置最大跟踪数据库大小请参阅MSDN Gflags文档的章节和诗句。 默认情况下,没有最有可能解释你所看到的bahaviour的最大尺寸。