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

时间:2019-03-15 21:25:53

标签: ruby valgrind

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

valgrind --tool=memcheck ruby hello.rb

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

Full output

我的Ruby程序所做的就是加载一个包含10,000个字符的文本文件。当我使用相同的命令运行类似的Python程序时,Memcheck可以正常工作。为什么我得到四个输出?其中有些指示使用的内存量正确吗?我正在测量硕士论文的内存消耗,所以我真的需要找出造成这种情况的原因!

谢谢!

1 个答案:

答案 0 :(得分:0)

默认情况下,valgrind不“关注”子进程(即不遵循 调用exec系统调用的派生孩子。

但是默认情况下,不执行的分叉子代将输出一些结果。 使用--child-silent-after-fork = yes应该不会使分叉的输出 处死孩子的人消失了。

相关问题