linux – 如何与我们的流程并行运行Valgrind,以便它的性能不会
发布时间:2020-12-13 19:09:30 所属栏目:Linux 来源:网络整理
导读:我需要使用Valgrind来检测服务器应用程序中发生的任何内存访问冲突.服务器创建许多线程.我怀疑有一种竞争条件会导致服务器每1小时左右崩溃一次.我们使用Valgrind分析其内存使用情况,但服务器进程的速度急剧下降.服务器的速度下降太多,以至于几乎无法使用,也
我需要使用Valgrind来检测服务器应用程序中发生的任何内存访问冲突.服务器创建许多线程.我怀疑有一种竞争条件会导致服务器每1小时左右崩溃一次.我们使用Valgrind分析其内存使用情况,但服务器进程的速度急剧下降.服务器的速度下降太多,以至于几乎无法使用,也没有可能的竞赛条件. 无论如何,与我们的应用程序并行运行Valgrind,所以我们不会失去那么多的性能? 最佳答案
值得注意的是,Valgrind在支持多线程程序的同时,如果你有多个核心可用,它们并不会实际并行运行程序的线程.它还以比本机OS调度程序更精细的粒度交错线程.这两个事实相结合可能使得具有竞争条件或其他并发异常的程序将表现不同.
您可能需要尝试Helgrind,一种主要用于检测正确锁定规则的工具和drd,一种主要用于检测数据竞争的工具. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |