linux – 如何与我们的流程并行运行Valgrind,以便它的性能不会降低太多?

前端之家收集整理的这篇文章主要介绍了linux – 如何与我们的流程并行运行Valgrind,以便它的性能不会降低太多?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我需要使用Valgrind来检测服务器应用程序中发生的任何内存访问冲突.服务器创建许多线程.我怀疑有一种竞争条件会导致服务器每1小时左右崩溃一次.我们使用Valgrind分析其内存使用情况,但服务器进程的速度急剧下降.服务器的速度下降太多,以至于几乎无法使用,也没有可能的竞赛条件.

无论如何,与我们的应用程序并行运行Valgrind,所以我们不会失去那么多的性能

最佳答案
值得注意的是,Valgrind在支持多线程程序的同时,如果你有多个核心可用,它们并不会实际并行运行程序的线程.它还以比本机OS调度程序更精细的粒度交错线程.这两个事实相结合可能使得具有竞争条件或其他并发异常的程序将表现不同.

您可能需要尝试Helgrind,一种主要用于检测正确锁定规则的工具和drd,一种主要用于检测数据竞争的工具.

猜你在找的Linux相关文章