如何解决在不同机器上的 valgrind 下运行速度太慢 - 在跟踪进程时已修复?
我正在尝试调试这个问题,但我已经没有想法要寻找什么了。设置是:
- Ubuntu 18.04
- 测试一些 C++/CUDA 代码的 C++ GoogleTest。
- 测试在 valgrind 下运行。
- 测试在两台硬件不同但软件相同的机器上运行。机器 B 的 CPU 内核和 RAM 比机器 A 多,但硬件较旧。
- 该测试不执行任何文件/网络 I/O。它分配内存、运行计算、验证结果。
我观察到的行为是:
- 在机器 A 上,运行“valgrind my_test”需要 10 秒。
- 在机器 B 上,运行“valgrind my_test”需要 120 秒。 (!)
- 在机器 B 上,运行“strace valgrind my_test”需要 10 秒!
- 在机器 B 上,如果我启动“valgrind my_test”,测试看起来运行得很慢。但是,如果我使用测试的 PID 执行“strace”,那么测试会突然以“正常”速度运行。
什么可以解释这种行为?如何进一步排除故障?
我的目标是能够在机器 B 上运行“valgrind my_test”需要 10 秒,而不是 120 秒。
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。