为什么Valgrind memcheck在我的Ruby程序上运行了很多次?

问题描述 投票:1回答:1

当我使用以下命令运行我的Ruby程序时:

valgrind --tool=memcheck ruby hello.rb

我每次都得到堆,泄漏和错误摘要的输出正好四次。

Full output

我所有的Ruby程序都是加载一个包含10,000个字符的文本文件。当我使用相同的命令运行它们时,Memcheck对我的类似Python程序工作得很好。为什么我得到四个输出?是否有一些表明使用了正确的内存量?我正在测量我的硕士论文的记忆消耗,所以我真的需要找出导致这个问题的原因!

谢谢!

ruby valgrind
1个回答
0
投票

默认情况下,valgrind不会“跟随”子进程(即不跟随调用exec系统调用的分叉子进程)。

但默认情况下,不执行exec的分叉子将输出一些结果。使用--child-silent-after-fork = yes应该使forking not execing child的输出消失。

© www.soinside.com 2019 - 2024. All rights reserved.